加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php:无法在函数中修改数组?

发布时间:2020-12-13 18:08:14 所属栏目:PHP教程 来源:网络整理
导读:所以我试图通过在函数modArr中添加键和值来修改数组;我希望var转储显示添加的项目,但我得到NULL.我在这里错过了什么一步? ?php$arr1 = array();modArr($arr1);$arr1['test'] = 'test';var_dump($arr);function modArr($arr){$arr['item1'] = "value1";$arr[
所以我试图通过在函数modArr中添加键和值来修改数组;我希望var转储显示添加的项目,但我得到NULL.我在这里错过了什么一步?
<?php

$arr1 = array();

modArr($arr1);
$arr1['test'] = 'test';
var_dump($arr);

function modArr($arr){
$arr['item1'] = "value1";
$arr['item2'] = "value2";
return;
}
您正在修改函数范围中存在的数组,而不是全局范围.您需要从函数返回修改后的数组,使用global关键字(不推荐)或通过引用将数组传递给函数而不是值.
// pass $arr by reference
$arr = array();
function modArr(&$arr) {
  // do stuff
}

// use global keyword
$arr = array();
function modArr($arr) {
  global $arr;
  //...
}

// return array from function
$arr = array();
function modArr($arr) {
  // do stuff to $arr
  return $arr;
}
$arr = modArr($arr);

要了解有关变量范围的更多信息,请查看PHP docs on the subject.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读