【发布时间】:2014-01-27 23:16:48
【问题描述】:
我想将我的变量(这些变量的值)放入一个数组中。我有类似的变量名称,所以我尝试找到一个基于循环的解决方案,它可以提供相同的输出:
$str1 = "one";
$str2 = "two";
$str3 = "three";
$arr = array($str1, $str2, $str3);
foreach ($arr as $key => $value){
echo "[", $key, "] = ", $value, "<br/>";
}
对于基于循环的解决方案,我尝试了这种方式,但它不允许将值插入数组:
$str1 = "one";
$str2 = "two";
$str3 = "three";
function arrayDefine($varName, $max) {
for ($i = 1; $i <= $max; ++$i){
echo "$", $varName, $i;
if ($i < $max){
echo ", ";
}
}
}
$arrItems = arrayDefine(str, 3);
$arr = array($arrItems);
foreach ($arr as $key => $value){
echo "[", $key, "] = ", $value, "<br/>";
}
第一个代码块的输出是:
[0] = one
[1] = two
[2] = three
但第二个显示:
$str1, $str2, $str3[0] =
为了获得与第一个(不是基于循环的)解决方案相同的结果,我应该更改/使用什么?
【问题讨论】:
-
嗯...它不会将值插入到数组中,因为您没有使用这些值创建数组。你所有的功能就是回显一些东西。如果需要,您必须实际创建一个数组并返回它。