【问题标题】:PHP: MySQL variables value not getting changed in array?PHP:MySQL变量值在数组中没有改变?
【发布时间】:2014-01-14 11:18:59
【问题描述】:

我在更改从 MySQL 数据库中获取的变量的值时遇到问题。我正在尝试这个

foreach( $itemsCurrentSorted as $item ) {
    echo "pre: " . $item[4];
    $item[4] = 100;
    echo "after: " . $item[4];
}

itemsCurrentSorted 包含从 MySQL 数据库获取行的结果。奇怪的是,回声语句给了我正确的结果。它似乎改变了价值。但是,它在新的迭代中开始的那一刻,就好像该值从未被重置过。所以它不保留新值?

所以我想我的问题简而言之是:如何在从 MySQL 数据库中获取的一行中更改值。提前感谢

【问题讨论】:

  • 尝试foreach( $itemsCurrentSorted as &$item ),但在foreach结束后使用unset($item)更安全

标签: php mysql


【解决方案1】:

尝试通过引用编辑

foreach ($key as &$value) {

}

& 符号表示它将对原始数组进行更改。

【讨论】:

  • 除了操作数的不直观命名之外,我不明白为什么有人反对这个。这是一个有效的答案。来自我的 +1。
  • 啊,谢谢,这正是问题所在。我不知道如果你想在数组中更改它,你必须在获取的元素前面使用 &。谢谢一群朋友!
猜你喜欢
  • 2014-12-02
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 2018-05-24
  • 2018-01-20
  • 2013-06-28
  • 1970-01-01
  • 2021-06-26
相关资源
最近更新 更多