如何在PHP中将一个数组存储为另一个数组中的键值?
How to store an array as a value of a key in another array in PHP?
我正在尝试将一个数组存储为另一个数组中的键值。
我不能使用 array_push() 或 for 循环之类的函数,因为第二个数组是作为函数的参数创建的。
我在谷歌上搜索了几个小时,但找不到任何答案!我是 PHP 的新手,所以我不知道这是否可行。
第一个数组类似于:
$choices[] = array('1'=>'Blue','2'=>'Red)
编辑:这是我要添加的代码
$choices[] = array('1'=>'Blue','2'=>'Red');
缺少 '
和 ;
是错字。数组的创建方式要复杂得多。在我尝试将其抽象并简化为 post 时,我错过了 '
和 ;
。感谢 @diéfani-favareto-piovezan 发现了这一点。
现在我想将这个数组作为键的值插入到另一个数组中,该数组是在代码的另一部分创建的:
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => ,
)
)
我希望数组 $choices
成为键 'c'
的值。
我试过了
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
),
)
但它给我一个错误
编辑:我想说我试过了
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
)
再次尝试抽象和简化时(在 RandomFunction 中创建的实际数组大约有 250 行)我错误地添加了额外的逗号。感谢@brevis、@Nick 和@tim 发现了这一点并引起了我的注意。
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')' in /filename.php line 120
错误在代码中提到了另一行,但我知道这不是原因,因为如果我删除
'c' => $choices,
没有错误。
编辑:我的意思是"before I added the 'c'
line"(而不是"if I remove it"),没有错误。我还可以补充说 $choices
的创建先于 randomFunction
数组,所以这是我知道那里没有错误的另一个原因。
结论:
正如我提到的,错误是 'c'
行之后的额外 ),
,我在尝试简化代码时未能在此处重现。我认为当我在我的实际代码中添加 'c'
行时,我一定是错误地添加了一个额外的 ),
。我之所以能找到它,是因为@nick 说 randomFunction
代码("I tried this" 之后的代码)应该有效。这是我需要确认错误不在该行的答案。感谢@dont-panic 的评论,我更仔细地查看了收到的错误消息并发现了额外的 )'
。在一天结束时,每个人都帮助了我。谢谢大家!
对于遇到此问题的任何人,工作代码是:
$choices[] = array('1'=>'Blue','2'=>'Red');
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
);
*
您的代码在红色后面缺少单引号和分号。
试试这个,看看它是否有效:
$choices[] = array('1'=>'Blue','2'=>'Red');
好的,我发现了错误:
我在第二个数组的末尾添加了一个额外的 ),
。
工作代码是
$choices[] = array('1'=>'Blue','2'=>'Red');
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
);
我正在尝试将一个数组存储为另一个数组中的键值。 我不能使用 array_push() 或 for 循环之类的函数,因为第二个数组是作为函数的参数创建的。
我在谷歌上搜索了几个小时,但找不到任何答案!我是 PHP 的新手,所以我不知道这是否可行。
第一个数组类似于:
$choices[] = array('1'=>'Blue','2'=>'Red)
编辑:这是我要添加的代码
$choices[] = array('1'=>'Blue','2'=>'Red');
缺少 '
和 ;
是错字。数组的创建方式要复杂得多。在我尝试将其抽象并简化为 post 时,我错过了 '
和 ;
。感谢 @diéfani-favareto-piovezan 发现了这一点。
现在我想将这个数组作为键的值插入到另一个数组中,该数组是在代码的另一部分创建的:
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => ,
)
)
我希望数组 $choices
成为键 'c'
的值。
我试过了
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
),
)
但它给我一个错误
编辑:我想说我试过了
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
)
再次尝试抽象和简化时(在 RandomFunction 中创建的实际数组大约有 250 行)我错误地添加了额外的逗号。感谢@brevis、@Nick 和@tim 发现了这一点并引起了我的注意。
Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW), expecting ')' in /filename.php line 120
错误在代码中提到了另一行,但我知道这不是原因,因为如果我删除
'c' => $choices,
没有错误。
编辑:我的意思是"before I added the 'c'
line"(而不是"if I remove it"),没有错误。我还可以补充说 $choices
的创建先于 randomFunction
数组,所以这是我知道那里没有错误的另一个原因。
结论:
正如我提到的,错误是 'c'
行之后的额外 ),
,我在尝试简化代码时未能在此处重现。我认为当我在我的实际代码中添加 'c'
行时,我一定是错误地添加了一个额外的 ),
。我之所以能找到它,是因为@nick 说 randomFunction
代码("I tried this" 之后的代码)应该有效。这是我需要确认错误不在该行的答案。感谢@dont-panic 的评论,我更仔细地查看了收到的错误消息并发现了额外的 )'
。在一天结束时,每个人都帮助了我。谢谢大家!
对于遇到此问题的任何人,工作代码是:
$choices[] = array('1'=>'Blue','2'=>'Red');
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
);
*
您的代码在红色后面缺少单引号和分号。
试试这个,看看它是否有效:
$choices[] = array('1'=>'Blue','2'=>'Red');
好的,我发现了错误:
我在第二个数组的末尾添加了一个额外的 ),
。
工作代码是
$choices[] = array('1'=>'Blue','2'=>'Red');
return randomFunction('random text', array(
'a' => 'apple',
'b' => 'banana',
'c' => $choices,
)
);