PHP 在 foreach 循环中将变量转换为对象类型

2024-02-16

在下面的代码中,$quiz_object->personalities包含一个数组Personality对象。

// Loop through each personality that exists for the quiz
foreach($quiz_object->personalities AS $existing_personality)
{

    // Show all of the existing personalities
    echo $existing_personality->GetQuizMakerPersonalityHTML();
}

我如何“转换”(我认为这是正确的词)我的变量$existing_personality在 foreach 循环中作为对象类型?

我希望这样做,以便当我输入时$existing_personality->,我得到了该对象类型可用的公共函数的列表。

UPDATE

目前,Zend Studio 不知道我正在循环遍历数组Personality循环内的对象,它只是认为它是一个标准变量。然而,它是一种类型,我的代码运行得很好。我只想在 foreach 循环中获得有关我的变量的 IDE 提示。

为了让我清楚,如果我有的话,每个其他对象都会出现提示:

$personality_object = new Personality();

// I get the IDE hints here
echo $personality_object->MyFunction();

但是一旦我开始在 foreach 中循环,Zend 就无法知道我正在循环对象数组。

这就是我最初定义人格数组的方式Personality object:

class Personality
{

    // Array of Personality objects
    public $personalities = array();

}

这很大程度上取决于您使用的 IDE。

在 Netbeans 和 IntelliJ 中,您可以使用@var在评论中:

/* @var $variable ClassName */
$variable->

IDE 现在将知道 $variable 属于 ClassName 类,并在->.

您也可以在自己的 IDE 中尝试一下。

您还可以创建一个@return中的注释getPersonalities()方法声明返回将是ClassName[],这意味着 ClassName 对象的数组:

/**
 * Returns a list of Personality objects
 * @return Personality[]
 */
function getPersonalities() {
    return $this->personalities;
}

这还取决于您的 IDE 如何解释此类提示。

要在 foreach 循环中使用它,您可以执行 1:

/* @var $existing_personality Personality */
foreach( $quiz_object->personalities as $existing_personality ){
}

or 2:

foreach( $quiz_object->getPersonalities() as $existing_personality ){
}

如果您的 IDE 足够好的话,两者都应该启用 IDE 提示。

作为额外说明,如果您想在它自己的类中使用它,则可以在声明类变量时使用相同的签名:

class MyClass
{ 

    /** 
    * @var ClassName[] $variable List of ClassName objects. 
    */ 
    var $variable;

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

PHP 在 foreach 循环中将变量转换为对象类型 的相关文章

  • 如何按日期对包含通过合并 get_posts 结果创建的 WP po​​st 对象的数组进行排序?

    我想通过合并 2 个单独的帖子的结果来创建单个帖子数组get posts查询 并按发布日期对数组进行排序 在我下面的代码中 get posts 为 args b and args a已合并为一个数组 但它们是分开的 的 9 个标题 args
  • 通过链接导航多个对象而不重复

    我正在尝试浏览一堆带有其他对象链接的对象 我想从 id 1 开始并浏览每个对象 有些对象会循环回到之前的对象 所以我想确保每个对象只查看一次 否则我会陷入无限循环 我还希望能够通过链接导航来判断哪些对象无法访问 我认为导航顺序并不重要 这是
  • PHP - 如何将图像资源写入文件

    我用了函数imagecopyresampled到裁剪图像 我尝试使用file put contents和 fwrite 将 resized image 写入硬盘上的文件 但所有尝试都失败了 我可以将调整大小的图像写入磁盘而不是使用image
  • PHP 裁剪图像以固定宽度和高度而不丢失尺寸比例

    我希望创建尺寸为 100 像素 x 100 像素的缩略图 我看过很多解释这些方法的文章 但如果要保持尺寸比 大多数文章最终都会有宽度 高度 例如 我有一个 450 像素 x 350 像素的图像 我想裁剪为 100px x 100px 如果我
  • PHP 中的 Europe/London 和 UTC 有区别吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我知道 UTC 和 GMT 实际上是
  • artisan 明确编译返回错误代码 255

    跑步时composer install在我的 laravel 项目中 我收到错误 脚本 php artisan 清晰编译处理返回的 post install cmd 事件 错误代码为 255 关于可能出现的问题有什么建议吗 请注意 comp
  • while 循环中的表并排

    in a while loop its creating a list of heading and image links i want to display it as side by side like in following im
  • PHP 中给定日期的下一个工作日

    有人有一个 PHP 代码片段来计算给定日期的下一个工作日吗 例如 需要如何转换 YYYY MM DD 才能找到下一个工作日 例子 对于 03 04 2011 DD MM YYYY 下一个工作日是 04 04 2011 对于 2011 年 4
  • 参数编号无效:参数未在[重复]中定义

    这个问题在这里已经有答案了 被困在这里有一段时间了 当我尝试运行代码时收到此错误 警告 PDOStatement execute SQLSTATE HY093 无效参数 number 参数未定义于 Applications XAMPP xa
  • PHP 的同义词库类或 API [编辑]

    TL DR 摘要 我需要一个命令行应用程序 我可以用它来获取同义词和其他相关单词 它需要是多语言的并且跨平台工作 任何人都可以为我推荐一个合适的程序 或者帮助我使用我已经找到的程序吗 谢谢 更长的版本 我的任务是用 PHP 编写一个系统 该
  • javascript 和 PHP 中的正则表达式有什么区别吗?

    这是在 javascript 中验证电子邮件地址的正则表达式 我不确定是否可以直接在 PHP 中使用它 a z d u00A0 uD7FF uF900 uFDCF uFDF0 uFFEF a z d u00A0 uD7FF uF900 uF
  • 如何将 WordPress 类别选择限制为只有一个?

    我有一个自定义帖子类型和一个自定义分类设置 非常标准的东西 但是 我想知道如何限制我的客户在每个帖子中选择多个分类类别 我不介意他们能够创建和删除分类类型 但我不希望他们选择多个分类类型 因为这些是复选框 所以它们可以 也许单选按钮可以工作
  • 如何使用 jQuery 通过 Ajax 发送复选框数组的值?

    我有一个包含很多表单字段的表单 12 x n 行 每行中的第一个字段 代表产品 是一个类似于以下内容的复选框
  • 自动生成PHP代码的策略?

    我正在开发一个框架 在后端创建 ER 图后 该框架可以动态地对自身的各个部分进行编程 作为一名 PHP 新手 我想知道是否还有比打开一个纯 xyz php 文本文件然后将动态生成的代码添加到该文件更奇特的事情 是的 尝试一下Zend Cod
  • 在生产服务器上使用 Subversion 使文件生效的最佳方法是什么?

    目前我已经设置了 subversion 这样当我在 Eclipse PDT 中进行更改时 我可以提交更改 它们将保存在 home administrator 中项目文件 该文件具有 subversion 推荐的 branches tags
  • 获取url,给定的url重定向到

    我从 rss 链接中挖掘数据并获得一堆网址 例如 http feedproxy google com r electricpig 3 qoF8XbocUbE http feedproxy google com r electricpig 3
  • Paypal IPN 发送“待处理”并以“多币种”为理由?

    我正在使用 Paypal IPN 从我的网站收款 该网站目前仅处于开发阶段 因此我建立了一个沙盒网站进行测试 并且我已经通过在英国注册的测试帐户非常成功地以英镑货币 我的居住国货币 进行付款 但是 我希望该网站能够检测访问者的原籍国并允许他
  • 递归获取数组的键并创建下划线分隔的字符串

    现在我得到了一个包含某种信息的数组 我需要从中创建一个表 例如 Student Address StreetAddress gt Some Street StreetName gt Some Name Marks1 gt 100 Marks
  • 我应该如何在 VB.NET 中进行转换?

    所有这些都相等吗 在什么情况下我应该选择其中一个而不是其他 var ToString CStr 变量 CType 变量 字符串 DirectCast 变量 字符串 编辑 来自的建议不是我自己 https stackoverflow com
  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的

随机推荐

  • 有没有实现按键删除并同时获取值? [复制]

    这个问题在这里已经有答案了 我正在做一个性能关键的程序 一些学术性的东西 我希望尽可能地优化 不像它证明的 这是 瓶颈 我有一个自定义字典结构 NET 的包装器Dictionary lt gt 并且我会在一个阶段不断地删除项目 通过Key价
  • 如何使用按钮触发回调更新?

    我刚刚开始使用破折号 举个例子here https plot ly dash getting started part 2 interactivity 我想转换下面的破折号应用程序 import dash from dash depende
  • 批处理文件变量范围问题

    当尝试创建 dos Windows 7 命令行 批处理文件时 我遇到了一个奇怪的变量范围问题 该文件执行一些字符串操作来创建新的文件路径 谁能明白为什么在下面的示例中 OUTPUT FILENAME 变量总是最终为空 echo Enter
  • Java 8 元空间与堆使用

    我有这段代码可以动态生成类并加载它 import javassist CannotCompileException import javassist ClassPool public class PermGenLeak private st
  • 测试覆盖率 React,伊斯坦布尔 -_registerComponent(...):目标容器不是 DOM 元素

    我正在使用 React Redux Webpack 编写一个应用程序 我正在使用 karma mocha 构建测试 并希望使用 istanbul 进行测试覆盖 为了使覆盖范围与业力覆盖范围一起工作 我设置了以下内容karma config
  • 是否可以根据批次标签(y_true)分布更新每个批次的学习率?

    编辑 请参阅此问题的结尾以获取解决方案 TL DR 我需要找到一种方法来计算每批次的标签分布 并更新学习率 有没有办法访问当前模型的优化器来更新每批的learning rate 下面是如何计算标签分布 它可以在损失函数中完成 因为默认情况下
  • Spark 中简单的 RDD 写入 DynamoDB

    刚刚在尝试将基本 RDD 数据集导入 DynamoDB 时陷入困境 这是代码 import org apache hadoop mapred JobConf var rdd sc parallelize Array Map col1 gt
  • 有没有办法即使在 Chrome 或 Firefox 关闭时也显示桌面通知?

    我们正在开发一个使用 GCM 向最终用户发送推送通知的网站 我们已经了解了 Service Worker 等所有内容 我们用这个开发了一个原型codelab https developers google com web fundament
  • 即使用户注销后也保持节点处于运行状态

    即使用户注销 如何保持节点应用程序在 Windows 中运行 即使用户注销后 如何继续运行节点http服务器 您有 2 个不错的选择 一种是上面评论中提到的Forever https www npmjs com package foreve
  • 将文件流式传输到 S3“错误:流意外结束”

    Update 我相信这could是因为我使用的是express提供的body解析器 这是否会扰乱多方试图解析的流 我的解决方案基于这个答案 https stackoverflow com a 15830910 971592 我正在尝试做的事
  • jqgrid如何在同一列显示多个值

    我想知道如何在 jqGrid 的单列中显示多个值 这是我当前网格定义的示例 grid1 jqGrid url Default aspx getGridData datatype json colModel contains the inpu
  • np 数组之间的欧氏距离

    我有两个 numpy 数组 a 和 b a 和 b 的尺寸相同 a 的尺寸可以与 b 的尺寸不同 例如 a 1 2 5 7 b 3 8 4 7 9 15 有没有一种简单的方法来计算 a 和 b 之间的欧几里得距离 以便这个新数组可以在 k
  • JavaScript 中的应用函数

    我正在学习 JavaScript 目前正在尝试找出原因 在蜘蛛猴 https developer mozilla org en SpiderMonkey concat apply 1 2 返回预期的 1 2 but Array concat
  • 如何使用Torch生成的模型进行预测?

    我已经执行了神经网络 tutorial lua https github com nicholas leonard dp blob master examples neuralnetwork tutorial lua 现在我有了模型 我想用
  • 尝试...否则...除了语法错误

    我无法理解这个 无法运行此代码 我不知道为什么它是语法错误 try newT read existingArtist newT Exif Image Artist value existingKeywords newT Xmp dc sub
  • Android:AsyncTask 或带有 ExecutorService 的普通 Java 线程 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我的应用程序使用Service做一些背景工作 我正在服务中使用额外的线程来进行一些计算 为此 我每 5 到 10 秒创建两个线程 运行 5 到
  • .NET混淆工具/策略[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我的产品有几个组件 ASP NET Windows Forms App 和 Windows Service 大约 95 的代码是用 VB NET
  • firebase云函数ServerValue增量不起作用

    我有一个 firebase 功能 我想在这里增加ServerValue 但它不起作用并给出错误 我哪里做错了 我在下面附上控制台屏幕截图 注 我不太了解javascript java代码也可能有错误 const functions requ
  • 有什么方法可以监控 Airflow DAG 的执行时间吗?

    我想将 Airflow 与 Statsd 和 DataDog 一起使用来监控 DAG 是否需要例如是之前执行的两倍 所以 我需要某种用于 DAG 的实时计时器 或者operator 我知道 Airflow 支持一些指标 https airf
  • PHP 在 foreach 循环中将变量转换为对象类型

    在下面的代码中 quiz object gt personalities包含一个数组Personality对象 Loop through each personality that exists for the quiz foreach q