【问题标题】:Why does assigning a new value to an array fail in PHP?为什么在 PHP 中为数组分配新值会失败?
【发布时间】:2014-07-16 13:00:58
【问题描述】:

考虑:

array (size=1)
  0 =>
    array (size=5)
      'name' => string '15268459735 Farming and Projects XXXXX' (length=38)
      'region' => string '2' (length=1)
      'entitynumber' => string '2012/002086/24' (length=14)
      'ownership' => string '6' (length=1)
      'id' => string '26249' (length=5)

为什么下面没有owner元素仍然返回相同的数组?

foreach ($result as $row)
{
    $row['owner'] = 1;
}

【问题讨论】:

  • 因为你没有改变$result。您只更改 $row ,其中包含 $result 一项的临时副本。

标签: php


【解决方案1】:

试试passing the array by reference:

foreach ($result as &$row) {
    $row['owner'] = 1;
}

另见:What's the & for, anyway?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-10
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-02-25
    • 2012-05-09
    • 2014-05-31
    • 2018-09-19
    相关资源
    最近更新 更多