PHP 数组插入无法按预期工作

2024-03-16

我正在尝试插入一些项目(假设nitems),它们都彼此不同,到一个数组。不知何故,最终的数组包括n items, 它们都是相同的项目:最后插入的项目。

这是我的代码:

$searchResults_data = [];
foreach($allowSearch as $searchResultItem) {
    $searchResultJSon->dealid = $searchResultItem['id'];
    $searchResultJSon->title = $searchResultItem['title'];
    //$from->send(json_encode($searchResultJSon)); --- DEBUGGING1 ---
    //$from->send(json_encode($searchResults_data)); --- DEBUGGING2 ---
    $searchResults_data[] =  $searchResultJSon;
}

所以我试图找出为什么......使用DEBUGGING1,DEBUGGING2(在客户端,我收到由$from->send()简单地alert() them).

当发出警报时DEBUGGING1消息 - 我确实看到所有项目都是正确的并且彼此不同。

当发出警报时DEBUGGING2messages - 数组在每个循环中复制最后插入的项目。所以假设我插入nitems,数组中i-th循环将是:[item-i, item-i, item-i, ... item-i] 代替 [item-1, item-2, item-3,...,item-i]


你的问题是你每次循环时都不会创建一个新对象,所以当你按下$searchResultJSon into $searchResults_data您正在推送同一个对象,并且您在循环的最后一次迭代中对其所做的更改反映在all中的值$searchResults_data。您可以通过在每次传递中创建一个新对象来解决这个问题:

$searchResults_data = [];
foreach($allowSearch as $searchResultItem) {
    $searchResultJSon = new StdClass();
    $searchResultJSon->dealid = $searchResultItem['id'];
    $searchResultJSon->title = $searchResultItem['title'];
    //$from->send(json_encode($searchResultJSon)); --- DEBUGGING1 ---
    //$from->send(json_encode($searchResults_data)); --- DEBUGGING2 ---
    $searchResults_data[] =  $searchResultJSon;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 数组插入无法按预期工作 的相关文章

  • MATLAB:比较两个不同长度的数组

    我有两个长度不同的数组 由于采样率不同 需要比较 我想对较大的数组进行下采样以匹配较小的数组的长度 但是该因子不是整数而是小数 举个例子 a 1 1 375 1 75 2 125 2 5 2 875 3 25 b 1 2 3 有什么方法可以
  • CodeIgniter:将参数从视图传递到控制器?

    编辑 现在使用下面的代码 我不确定如何正确打印书签和标签 我对 CI 完全陌生 最近遇到了障碍 我非常不确定如何将函数参数从视图文件传递到控制器 以便我可以在函数上使用它 我在视图上有一个 foreach 循环 遍历函数 get lates
  • 如何正确转义 mysql“搜索/喜欢”查询?

    Summary 我目前正在使用 search field LIKE this gt db gt escape like str search string 逃避动态创建的搜索查询 创建的 SQL 语句结果不会产生任何错误 也不会产生任何结果
  • 使用 memcpy 复制二维数组?

    所以我想将二维数组的内容复制到另一个完全相同类型的数组 以下是数组的创建方式 GridUnit newGrid newGrid new GridUnit width for int i 0 i lt width i newGrid i ne
  • 删除队列对象数组

    我正在研究一个包含数组的对象queues数组长度在调用构造函数之前才确定 基本上看起来像下面这样 include
  • 将键值对添加到数组中的所有对象

    我想向数组中的所有对象添加一个键 值参数 eg var arrOfObj name eve name john name jane 现在我想向所有对象添加一个新参数 isActive 以便生成的数组如下所示 eg name eve isAc
  • 在 EXCEL 中使用多个表的条件求和

    我有一个表 我试图根据两个参考表的值来填充该表 我有各种不同的项目 类型 1 类型 2 等 每个项目运行 4 个月 并且根据其生命周期的不同时间 花费不同的金额 这些成本计算显示在Ref Table 1 参考表1 Month a b c d
  • PHP:测试三个变量是否相等

    我以前从未遇到过这种情况 但是如何测试三个变量是否相同 以下内容显然不起作用 但我想不出一种优雅 且正确 的方式来编写以下内容 if select above average select average select below aver
  • 从 MySQL 列创建 PHP 数组

    mysql fetch array会给我一个获取行的数组 从一列中所有行的值生成数组的最佳方法是什么 您可以循环遍历数组并创建一个新数组 如下所示 column array while row mysql fetch array info
  • Google 站点地图日期格式

    我需要 php 中站点地图的日期格式 我怎样才能做到这一点 这个输出对吗
  • 在 php 中进行 AES 加密,然后用 Javascript (cryptojs) 解密

    我正在寻找一种对简单文本 5 到 6 个数字和 或字符 进行双向加密的方法 问题是我想在 php 中进行加密 然后通过 Javascript 解密 对于 php 我已经使用 mcrypt encode 进行了测试并使其正常工作 因此当我尝试
  • CakePHP 后退和前进按钮没有布局

    我们正在 CakePHP 中构建一个大型 CMS 并集成了 Croogo 安装 我们最近遇到了一个问题 当用户单击back在浏览器中 或forward按钮 您最终得到的是使用以下命令的视图 ctp 文件blank布局 所以没有样式 js 等
  • Laravel 5 模型 $cats 到数组 utf-8 JSON_UNESCAPED_UNICODE

    当您有一个数组字段并将其保存在数据库中时 它会对数组进行漂亮的 json encode 但没有 JSON UNESCAPED UNICODE 选项 数据最终如下所示 en u039d u03ad u03b1 这几乎没什么用 解决方案当然是使
  • 过滤两个类别的产品集合 Magento 1.7

    我想要获取包含 A 类或 B 类产品的产品集合 我已经能够使用以下 php 代码成功获取这些产品 collection Mage getModel catalog product gt getCollection gt joinField
  • 使用 Assetic PHP 通过 RVM 安装后 Sass 损坏

    我正在尝试设置 Assetic PHP 资源编译器 并且它可以与 CoffeeScript Stylus 和 Less 一起使用 所有 NPM 包都运行良好 然而 对于 Sass 我遇到了问题 以下是我到目前为止所采取的步骤 我安装了 RV
  • AngularJS + Laravel 5 身份验证

    在使用 AngularJS 构建 SPA 时 我想在 AngularJS 网站中实现用户身份验证 但是 我不知道从哪里开始以及最佳实践是什么 基本上我有一个确定可以担任一个或多个角色 我寻找了一些例子 这样我就可以对如何正确处理这个问题有一
  • regex php - 查找 div 中具有特定 ID 的内容

    我确信这是一个简单的问题 尽管我在谷歌上进行了如此多的搜索和搜索 但我似乎无法弄清楚这有什么问题 我在此页面上的其他区域使用类似的表达式来准确返回我想要的内容 但是 我无法让这个特定的位返回我想要的东西 所以也许有人可以帮助我 我有一个带有
  • 如何在 PHP 中替换/转义 U+2028 或 U+2029 字符以阻止我的 JSONP API 崩溃

    好的 我正在运行一个公共 JSONP API 数据由我的 PHP 服务器提供 我刚刚读了这篇文章 JSON 不是的 JavaScript 子集 作者 Magnus Holm 2011 年 5 月 http timelessrepo com
  • 将变量从 PHP 传递到 JavaScript 的有效方法[重复]

    这个问题在这里已经有答案了 有时我必须将一些变量从 PHP 传递到 JS 脚本 现在我是这样做的 var js variable 但这非常丑陋 我无法在 js 文件中隐藏我的 JS 脚本 因为它必须由 PHP 解析 处理这个问题的最佳解决方
  • PHP - 从图像创建一张图像

    我有 n 张图像 想用 php 代码创建一张 我使用 imagecopymerge 但无法成功 请举一些例子 Code numberOfImages 3 x 940 y 420 background imagecreatetruecolor

随机推荐

  • 使用 ngrx 的应用程序的最佳结构是什么?

    结构1 reducers index ts Combine all reducers user reducer ts product reducer ts actions index ts Combine all actions user
  • 如何在Java中使用postgresql

    我安装了 postgresql 及其驱动程序 postgresql 9 3 1102 jdbc41 jar 我的目录看起来像 gt SQL gt myJDBC java gt postgresql 9 3 1102 jdbc41 jar 我
  • 如何在mysql中使用sql join

    表名 tbl schedule tr id P K mr id F K sch date doctor id 1 23 01 01 2012 32 2 23 05 01 2012 13 3 22 08 01 2012 14 表名 tbl u
  • Boost - 子进程仍然是僵尸进程

    我编写了简单的代码 以分离的方式运行子进程 boost process child childProcess sleep 10 boost process std in close boost process std out close c
  • 在 Github 上托管 ipython 笔记本

    我维护一个 Github 存储库 当前包含两个 ipython 笔记本文件 我的存储库在这里 https github com tschm MosekRegression https github com tschm MosekRegres
  • 不可重现的 R 包可用性检查

    在检查软件包向量是否需要安装时 我遇到了一个有趣的错误 要求并卸载 lme4 命名空间会在第二次执行时出现错误 但仅当按特定顺序检查其他一些包时才会出现错误 isInstalled lt function package is a pack
  • 有没有办法在Python中使用PhantomJS?

    我想用PhantomJS http phantomjs org in Python http www python org 我用谷歌搜索了这个问题但找不到正确的解决方案 I find os popen 可能是一个不错的选择 但我无法向它传递
  • 具有多个数据库服务器的 ServiceStack OrmLite

    我正在围绕服务堆栈框架构建一个应用程序 并且需要能够访问 Oracle 和 MS Sql Server 中的数据 使用 ORMLite 是否可以做到这一点 似乎我只能为应用程序设置一种方言 或者我错过了什么 是的 这是可能的 并且对此的支持
  • 在 Spring Boot 中全局启用 CORS

    我尝试像这样全局启用 CORS Configuration ComponentScan com example EnableWebMvc public class OriginFilter extends WebMvcConfigurerA
  • 无法在装饰器中捕获 pytest 的结果

    我的 pytest 测试装饰器在调用函数后立即退出装饰器 如果我使用 python 而不是 pytest 运行该文件 效果会很好 这是代码 def dec func def wrapper args kwargs print do some
  • JFreeChart 不会在线程上的每次迭代时显示图形?

    我使用线程在一个类中获取计数器值并写入JFreeChart在另一个线程中 执行时 它交替工作 但只显示最后的图形 它还将 y 轴标签值显示为 Float 但实际检索值是 int 我该如何解决这些问题 XYDataset Dataset Ti
  • 在 Rails 中,哪里是放置需要“随处”可用的方法的正确位置

    我已经将许多小实用方法 例如用于重新格式化或解析字符串等简单对象 放入了 ApplicationHelper 中 但是 模型中的类方法显然无法访问 ApplicationHelper 方法 有一个解决方法 那就是在我的项目中进行洒水 inc
  • 在 Java 中动态加载模块(类)的最佳方法

    我目前正在编写一个需要在不同类型的设备上运行的应用程序 我的方法是制作一个 模块化 应用程序 可以根据需要操作的设备动态加载不同的类 为了使应用程序易于扩展 我的目标是为附加模块 jar 或 class 文件 分配特定路径 而核心程序保持原
  • 如何获取和设置当前网页滚动位置?

    如何获取和设置当前网页滚动位置 我有一个很长的表单 需要根据用户操作 输入进行刷新 发生这种情况时 页面会重置到最顶部 这对用户来说很烦人 因为他们必须向下滚动回到原来的位置 如果我可以在页面重新加载之前捕获当前滚动位置 在隐藏输入中 那么
  • 如何列出包中的所有类和方法/函数 - 具有完整的文件夹/文件路径?

    为了更好地理解包的结构 假设我们有一些包 模块 比如说 somemodule 结构如下 somemodule file1 py fo x a function file2 py bar x a function dir1 file3 py
  • 在 Rails 应用程序中实现投票的最佳方式?

    目前在 Rails 站点上实现投票的最佳插件是什么 我知道的两个是 vote fu http github com peteonrails vote fu 行为可投票 http github com ryanto acts as votab
  • JPA CriteriaBuilder 案例查询

    任何人都可以提供如何使用编写案例查询的示例CriteriaBuilder 以下是使用的示例案例表达式CriteriaBuilder 这适用于 JPA 2 Hashtable caseTable new Hashtable 3 caseTab
  • Jquery视差滚动效果-多方向

    我需要为客户构建一个多方向 JQuery 视差页面 他们基本上希望它以与此类似的方式工作 https victoriabeckham landrover com INT https victoriabeckham landrover com
  • 从 shell 脚本获取 pytest 退出代码

    我正在从 shell 脚本运行 pytest 测试 脚本中的相关行类似于 pytest pytest tests param my param 根据 pytest 文档 运行 pytest 可能会导致六种不同的退出代码 0 5 我的问题是如
  • PHP 数组插入无法按预期工作

    我正在尝试插入一些项目 假设nitems 它们都彼此不同 到一个数组 不知何故 最终的数组包括n items 它们都是相同的项目 最后插入的项目 这是我的代码 searchResults data foreach allowSearch a