Php 创建数组后设置数组键值
我试图在创建数组后设置数组键的值。我知道这会,但这确实会产生错误:Php 创建数组后设置数组键值,php,Php,我试图在创建数组后设置数组键的值。我知道这会,但这确实会产生错误: 注意:未定义的变量:C:\web\apache\htdocs\test\array.php中第144行的peter已经有岁了。 $age=array("Peter"=>$ageVal);// Has to come first, since it's inside an include file. $ageVal = 35; //Comes later. echo "Peter is " . $age['Peter']
注意:未定义的变量:C:\web\apache\htdocs\test\array.php中第144行的peter已经有岁了。
$age=array("Peter"=>$ageVal);// Has to come first, since it's inside an include file.
$ageVal = 35; //Comes later.
echo "Peter is " . $age['Peter'] . " years old.";
但是,有没有什么方法可以做到这一点而不改变顺序?a) 首先创建数组b)数组键的值稍后设置。您可以在一行中设置两个变量
$age['Peter'] = $ageVal = 35;
您可以在一行中设置两个变量
$age['Peter'] = $ageVal = 35;
不要在顶部初始化数组
$age=array();// Has to come first, since it's inside an include file.
$ageVal = 35; //Comes later.
$age['Peter'] = $ageval; // Set the array element here.
echo "Peter is " . $age['Peter'] . " years old.";
不要在顶部初始化数组
$age=array();// Has to come first, since it's inside an include file.
$ageVal = 35; //Comes later.
$age['Peter'] = $ageval; // Set the array element here.
echo "Peter is " . $age['Peter'] . " years old.";
是的,您可以通过分配数组值来实现这一点,尽管我不建议这样做 这是有效的(但我不建议): 这是我建议的做法:
$age = array(); // Comes first, since it's inside an include file.
$ageVal = 35; // Comes later.
$age['Peter'] = $ageVal; // Assigns a value to the 'Peter' key in $age
echo "Peter is " . $age['Peter'] . " years old.";
是的,您可以通过分配数组值来实现这一点,尽管我不建议这样做 这是有效的(但我不建议): 这是我建议的做法:
$age = array(); // Comes first, since it's inside an include file.
$ageVal = 35; // Comes later.
$age['Peter'] = $ageVal; // Assigns a value to the 'Peter' key in $age
echo "Peter is " . $age['Peter'] . " years old.";
你的第一个方法真的很好。但是你为什么不推荐呢?有什么可能出错?@jmenezes有几个原因。引用在PHP代码中并不常见,因此其他开发人员可能不熟悉它们。它们会使代码变得非常混乱和难以阅读(每个人都知道
$ageVal=35;
将35
分配给$ageVal
,没有人会期望它也分配给$age['Peter']
)。它们不是真正的引用(比如C指针),很多程序员都弄错了,结果弄糊涂了。我相信它们通常也比PHP中的普通赋值慢。我明白你的意思。我想出了艰难的办法;-)你的第一个方法真的很好。但是你为什么不推荐呢?有什么可能出错?@jmenezes有几个原因。引用在PHP代码中并不常见,因此其他开发人员可能不熟悉它们。它们会使代码变得非常混乱和难以阅读(每个人都知道$ageVal=35;
将35
分配给$ageVal
,没有人会期望它也分配给$age['Peter']
)。它们不是真正的引用(比如C指针),很多程序员都弄错了,结果弄糊涂了。我相信它们通常也比PHP中的普通赋值慢。我明白你的意思。我想出了艰难的办法;-)