在示例中有两个数组,但实际上可能是其他数量的数组(我不知道我可能有多少个数组)。
$some_name = array ( "Volvo_0",220,180, );
$array_name_for_variable[]='some_name';//here i create another array latter to loop through
$another_name = array ( "Volvo_1",221,181, );
$array_name_for_variable[]='another_name';
在示例中,我只想print_r我可能拥有的数组。所以我循环通过$array_name_for_variable
。喜欢
foreach( $array_name_for_variable as $i_array_name_for_variable => $val_array_name_for_variable ) {
尝试使用此
打印特定数组(如print_r($some_name)
)
echo '<pre>', print_r($['val_array_name_for_variable'], true), '</pre> $val_array_name_for_variable __<br/>';
但请参阅错误Parse error: syntax error, unexpected '[', expecting T_VARIABLE or '$'
}
这print_r($['val_array_name_for_variable'])
错了。尝试了这个print_r( $[$val_array_name_for_variable] );
。也有错误。
任何需要改变的想法。
为什么这一切以及我需要的......
我有12个阵列,但我不知道在一个特定页面中将使用12个阵列。
因此页面加载,12个数组中的一些被定义(使用)。
我可能会写如果array_1存在,那么使用array_1中的变量的长html代码。
如果array_2存在且不为空,则再次使用array_2中的变量重复相同的html代码。
但是我没有复制粘贴(重复)html代码,而是决定循环遍历已打开页面中的数组,而长html代码只写一次。
答案 0 :(得分:1)
您可能想要做这样的事情
$some_name = array ( "Volvo_0",220,180, );
$array_name_for_variable['some_name']= $some_name ;
$another_name = array ( "Volvo_1",221,181, );
$array_name_for_variable['another_name']= $another_name ;
foreach( $array_name_for_variable as $i_array_name_for_variable => $val_array_name_for_variable ) {
print_r($val_array_name_for_variable);//prints the array
print_r($i_array_name_for_variable);// print the keys ex :- some_name
}
答案 1 :(得分:1)
您可以通过以下方式解决问题:
$some_name = array ( "Volvo_0",220,180, );
$array_name_for_variable[]=$some_name;
$another_name = array ( "Volvo_1",221,181, );
$array_name_for_variable[]=$another_name;
然后迭代它:
foreach( $array_name_for_variable as $i_array_name_for_variable => $val_array_name_for_variable ) {
echo '<pre>', print_r($val_array_name_for_variable, true), '</pre><br/>';
}
这将打印$ array_name_for_variable中的所有元素。
评论是否需要对输出进行任何更改。
说明:代码实际执行的是遍历数组$ array_name_for_variable的所有元素。它们创建了一个键=&gt;其中每个元素的值。第一次迭代的值($ val_array_name_for_variable)将是:$ some_name。键($ i_array_name_for_variable) - 数组中的元素位置,因此在第一次迭代时它将为0(因为它总是从0开始)。
如果你不需要元素位置,你可以这样做:
foreach( $array_name_for_variable as $val_array_name_for_variable ) {
echo '<pre>', print_r($val_array_name_for_variable, true), '</pre><br/>';
}
它将生成与前一代码片段完全相同的输出。
为了向数组中添加元素,你必须传递一个变量,而你只传递一个字符串。
修改强> 根据新添加的信息,代码应为:
foreach( $array_name_for_variable as $i_array_name_for_variable => $val_array_name_for_variable ) {
if (array_key_exists($i_array_name_for_variable, $val_array_name_for_variable)) {
echo '<pre>', print_r($val_array_name_for_variable, true), '</pre><br/>';
} else {
//Code if the array does not exist.
}
}
参考文献: