PHP 中的动态属性名称

2024-01-22

PHP中有一个对象名为$item,在这个对象中我有以下属性

title , title_cn, title_tw

我想创建一个根据语言自动生成属性的函数,所以我编码如下:

<?= $item->title . set_lang(); ?>

和功能:

function set_lang() {
    $CI =& get_instance();
    $lang = $CI->session->userdata('site_lang');
    if ($lang == "english") {
        return "";
    } else if ($lang == "zh_tw") {
        return "_tw";
    } else if ($lang == "zh_cn") {
        return "_cn";
    }
}

但是,名称没有正确生成,它只是 $item->title 附加了 lang 代码字符串,例如my title 1234_tw, titleABC_cn etc...

如何动态生成属性?感谢您的帮助


你应该首先连接$item->title onto set_lang()并将其放入变量中。

然后,您可以使用该变量来调用 obj 上的正确属性。

example

$itemLangTitle = $item->title . set_lang();

echo $item->$itemLangTitle

您可以动态地使用变量作为属性,但要一如既往地小心用户输入!

另外,您还需要确保该属性存在,否则您会收到错误。因此,请确保如果这不会产生任何结果,则应回退到英文命名或其他无障碍的名称;)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 中的动态属性名称 的相关文章

  • 带摘要的 php curl 返回两个响应

    我发现了一个 奇怪 的 php CURL 行为 这让我抓狂 基本上我正在做的是使用curl 进行摘要身份验证的调用 这是我的代码的摘录 curl setopt this gt c CURLOPT HTTPAUTH CURLAUTH DIGE
  • CakePHP Unfilled 单选按钮在提交时更改为不需要的值

    我有这个表单元素 form gt input ChecklistResponseGovernmentInfo driversLicenseIsOnline array type gt radio empty gt true options
  • 鼠标移动时画布拖动

    我正在尝试构建一个可以使用鼠标移动拖动的画布 我做了一些我无法理解的错误 因为一开始似乎有效 然后出现了一个增量错误 使画布移动得太快 考虑以下代码 window onload function var canvas document ge
  • 在 PhoneGap 应用程序中打开用 HTML 和 CSS 制作的 PDF

    我的 iPad 应用程序在 Phone Gap 中遇到一个奇怪的问题 问题是我必须通过链接在我的应用程序中打开 PDF 文档 当我单击打开 PDF 的链接时 它会向我显示没有反向链接的 PDF 文档 因此 当我通过链接在应用程序中打开 PD
  • php 包含打印 1

    我编写了以下代码 当我将 include 函数与旨在输出到页面的函数 例如 或 echo include foo php 结合使用时 它会返回包含内容 但在已包含的内容后面带有 1 echo include foo php 应该 inclu
  • zend框架验证模型中的数据而不是表单中的数据

    使用 Zend Framework 2 在我的应用程序中 要编辑数据库中的数据 可以编译 html 表单或发送 http post 请求 我的服务器作为 Web 服务实现 在第二种情况下 不会呈现表单 问题 如果当服务器收到不是从表单发送而
  • 在已标记的输入元素上使用“aria-labelledby”的目的是什么?

    许多 ARIA 演示网站使用以下代码
  • django 模板上的 vscode html 自动套用格式

    我喜欢 VSCode 的保存自动格式功能 直到它弄乱了我的模板代码 它错误地将我的 django 模板语法格式化为一行代码 有时非常长的一行 所以不用这段代码 for row in ABCDEFGH tr for col in 123456
  • 使用循环将对象添加到列表(python)

    我正在尝试使用 while 循环将对象添加到列表中 基本上这就是我想做的 class x pass choice raw input pick what you want to do while choice 0 if choice 1 E
  • PHP 何时实现了函数使用闭包? [复制]

    这个问题在这里已经有答案了 我在 PHP 手册中找不到解释的部分use 我有代码 num 0 array walk recursive REQUEST function mValue use num num 我的 Eclipse 抱怨 Pa
  • 文件缓存:查询字符串与上次修改时间?

    我正在研究缓存网站资源的方法 并注意到大多数与我类似的网站都使用查询字符串来覆盖缓存 例如 css style css v 124942823 后来 我注意到每当我保存 style css 文件时 最后修改的标头都会 更新 使得查询字符串变
  • PHP + MySQL 队列

    我需要一个充当队列的简单表 我的 MySQL 服务器限制是我不能使用 InnoDB 表 只能使用 MyISAM 客户 工人将同时工作 他们每次都需要接受不同的工作 我的想法是执行以下操作 伪代码 job lt SELECT FROM que
  • 当 Chrome 中嵌套滚动中的数据更改时防止页面滚动

    我在页面中有一个固定大小的元素 带有 溢出 滚动 其内容经常更改 我预计该元素内部发生的更改会影响该元素的滚动 但不会影响页面滚动 但是当这个元素位于页面顶部时 页面本身开始滚动 我怎样才能防止这种情况发生 要重现此行为 我在 chrome
  • Laravel 5 Eloquent 在多个级别上将关系附加到 JSON

    因此 在模型中包含关系非常容易 例如 class User extends Model protected with roles class Role extends Model protected with permissions 当有对
  • jQuery:向左滑动和向右滑动

    我见过slideUp and slideDown在 jQuery 中 左右滑动的功能 方式怎么样 您可以使用 jQuery UI 中的附加效果来做到这一点 详情请参阅此处 http docs jquery com UI Effects Sl
  • 需要提取字符串中点后的最后一个数字,如“7.8.9.1.5.1.100”

    我需要提取 C 字符串中最后一个点后面的最后一个数字 例如 7 8 9 1 5 1 100 并将其存储在整数中 Added 该字符串也可以是 7 8 9 1 5 1 1 或 7 8 9 1 5 1 0 我还想验证它在最后一个点之前恰好是 7
  • Yii2 无效调用:设置只读属性

    我有一个Post具有多对多关系的模型Tags 在 Post 模型中定义 public function getTags return this gt hasMany Tags className id gt tag id gt viaTab
  • 单元测试和静态方法

    阅读并学习单元测试 试图理解以下帖子 http misko hevery com 2008 12 15 static methods are death to testability 这解释了静态函数调用的困难 我不太清楚这个问题 我一直认
  • SimpleXML 返回空数组

    我正在尝试使用 Google Maps API 和 PHP SimpleXML 获取城市的纬度和经度 我尝试这样做 xml simplexml load file http maps googleapis com maps api geoc
  • 突出显示单词并提取其附近文本的函数

    我有一个文本例如 Etiam porta semmalesuada magna mollis euismod 整数取数 ante venenatis dapibus posuere velit aliquet 埃蒂亚姆 门塔 塞姆 male

随机推荐

  • 使用多个标记簇组显示重叠的簇

    我正在使用几个L markerClusterGroup 这样我就可以在图层控件中切换它们 但星团却互相隐藏 我希望能够获得两个集群的总数 我缺少什么 问题是each 传单标记簇组 https github com Leaflet Leafl
  • 使用“git rebase”更改旧的提交消息

    我试图编辑旧的提交消息 如所解释的here http schacon github io history html 问题是现在当我尝试跑步时rebase i HEAD 5它说interactive rebase already starte
  • 读取 .NET Core 测试项目中的 appsettings json 值

    我的 Web 应用程序需要从 appsettings json 文件读取文档数据库密钥 我创建了一个带有键名称的类并阅读了中的配置部分ConfigureServices as public Startup IHostingEnvironme
  • 如何过滤非空值elasticsearch?

    我正在尝试过滤掉 not null 的值 以sql为例 SELECT ALL FROM Mytable WHERE field 1 NOT NULL and field 2 alpha 我应该如何在 elasticsearch dsl py
  • 在输入字段中选择文件后浏览器冻结

    我有一个包含输入文件字段的表单
  • 来自 ContentProvider 的 SimpleCursorAdapter 中的 IllegalStateException“尝试重新打开已关闭的对象”

    我有一系列ListView对象在Fragments 正在由 a 填充CursorAdapter得到一个Cursor来自LoaderManager为了活动 据我了解 所有数据库和Cursor关闭动作完全由LoaderManager和Conte
  • 共享 GIT 远程存储库的文件权限问题

    我有一个为我的办公室管理的 GIT 存储库 由于公司政策 我们不能使用外部托管提供商 例如 GitHub 等 所以 我只能利用我们的本地网络尽我所能 每个人都管理自己的本地存储库 但我们也有一个远程存储库 用户可以推送到该存储库 并且可供
  • 将元素水平或垂直排列在 div 中

    我正在尝试编写通用 css 选择器 它将垂直或水平排列 div 内包裹的任何元素 我无法控制将放置在外部 div 内的元素 例如 在下面的代码片段中 div id one div id two 和button id 3 应显示为水平排列的元
  • Java如何写一个定时器

    我想用java编写一个计时器 它将执行以下操作 程序启动时 启动定时器1 45分钟后停止 同时启动第二个定时器 15分钟后停止 此时第一个定时器会再次启动 并重复上面的循环 直到程序退出 第一次 45分钟 我可以使用电脑的时间 第二计时器
  • 用 C 更改文件中的一个字节

    我有一个文件流打开并准备就绪 如何访问和更改流中的单个字节以便更改反映在文件上 有什么建议么 include stdio h int main void FILE f fopen so data dat r b Error checking
  • 为什么 (0 == 'Hello') 在 PHP 中返回 true?

    嘿 如果您有以下代码并想检查是否 key火柴Hello我发现比较总是返回true如果变量是0 当一个特殊键的数组时 我遇到了这个问题 并想知道为什么它没有按预期工作 请参阅此代码的示例 key 1 if key Hello echo Hel
  • 从 Express Web 服务器加载 favicon 图标会导致违反内容安全策略

    当我尝试加载我正在创建的网站时出现以下错误 拒绝加载图像 http 167 71 89 74 favicon ico http 167 71 89 74 favicon ico 因为它违反了以下内容安全策略指令 default src no
  • Ean-128 python 条码生成器

    有没有Python库可以生成ean128条形码 我尝试了 python barcode 但在该库中没有 ean128 的选项 最初提出这个问题的人可能不会从中受益 但这适用于那些仍在寻找答案的人 注意 Code 128 与 GS1 128
  • 设置 System.DirectoryServices.DirectoryEntry 的回调来处理自签名 SSL 证书?

    我有一个使用典型的 System DirectoryServices DirectoryEntry 代码从目录服务复制数据的应用程序 我现在需要使用带有自签名证书的 SSL 从 Novell eDirectory 进行复制 我怀疑现有代码可
  • Google Play 服务中的 AdMob 将执行不需要的自动滚动

    我使用的是 Google Play 服务版本 13 中的 AdMob 我意识到 当我将广告放置在ScrollView AdMob 在从服务器成功获取广告后会尝试执行不需要的自动滚动 package com example admob bug
  • 如何将值传递给 wcf 服务上的构造函数?

    我想将值传递到实现我的服务的类的构造函数中 然而 ServiceHost 只允许我传递要创建的类型的名称 而不是传递给其构造函数的参数 我希望能够传递一个创建我的服务对象的工厂 到目前为止我发现了什么 WCF 依赖注入行为 http web
  • 有没有办法在 IPython 笔记本的两个版本之间生成差异?

    我已经开始使用IPython笔记本 http ipython org notebook html为我的论文撰写草稿部分花费了相当多的时间 然而 考虑到草案的两个版本 即笔记本 我希望能够生成某种形式的差异输出来显示发生了什么变化 有谁知道目
  • VSCode dart 分析器停止识别 flutter/dart 代码

    我一直使用 VSCode 进行 flutter 开发 没有出现任何问题 然后今天 dart 分析器突然抱怨大多数类未定义 或者目标不存在 有没有人见过这个 我已经重新启动了 VSCode 重新启动了计算机 卸载了 flutter dart
  • Python 中类似于 Jinja 的 Pdf

    我正在寻找 Python 中最准确的 PDF 工具 其工作方式类似于 Jinja 对 HTML 的作用 您有什么建议 正如 jbochi 所回答的 ReportLab 是几乎所有生成 PDF 的 Python 项目的基础 但根据您的需要 您
  • PHP 中的动态属性名称

    PHP中有一个对象名为 item 在这个对象中我有以下属性 title title cn title tw 我想创建一个根据语言自动生成属性的函数 所以我编码如下 和功能 function set lang CI get instance