Php 动态变量语法
Php Dynamic Variables Syntax
我正在尝试使用动态变量。我知道这个语法有效:
$my_data->data1;
$my_data->data2;
...
在 for() 循环中变成这样:
for ($i = 0 ; $i <= nb_of_data ; $i++) {
${'my_data->data' . $i};
}
但是我应该如何转换这些线?
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
$my_data[$i]->data1;
$my_data[$i]->data2;
...
我想过这个,但它不起作用:
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
for ($j = 0 ; $j <= $nb_of_data ; $j++) {
${'my_data[' . $i . ']->data' . $j;
}
}
'data' 的数量变化很大。
为什么不把 mydata 做成多维数组?
$mydata = array();
$data = array(1 => "data",...);
$mydata[] = $data;
您可以对 mydata 和其中的每个数据进行交互:
foreach($mydata as $md){
foreach($md as $data){
//do with $data what you want
}
}
您是否正在寻找这样的东西:
<?php
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
$my_data[$i]->data.$i;
$my_data[$i]->data2.$i;
}
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
$my_data['$i']->data.'$i';
}
?>
我终于找到了答案。这是正确的语法:
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
for ($j = 0 ; $j <= $nb_of_data ; $j++) {
${'my_data[' . $i . ']'}->data . $j;
}
}
括号之间的代码太多了!
我正在尝试使用动态变量。我知道这个语法有效:
$my_data->data1;
$my_data->data2;
...
在 for() 循环中变成这样:
for ($i = 0 ; $i <= nb_of_data ; $i++) {
${'my_data->data' . $i};
}
但是我应该如何转换这些线?
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
$my_data[$i]->data1;
$my_data[$i]->data2;
...
我想过这个,但它不起作用:
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
for ($j = 0 ; $j <= $nb_of_data ; $j++) {
${'my_data[' . $i . ']->data' . $j;
}
}
'data' 的数量变化很大。
为什么不把 mydata 做成多维数组?
$mydata = array();
$data = array(1 => "data",...);
$mydata[] = $data;
您可以对 mydata 和其中的每个数据进行交互:
foreach($mydata as $md){
foreach($md as $data){
//do with $data what you want
}
}
您是否正在寻找这样的东西:
<?php
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
$my_data[$i]->data.$i;
$my_data[$i]->data2.$i;
}
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
$my_data['$i']->data.'$i';
}
?>
我终于找到了答案。这是正确的语法:
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
for ($j = 0 ; $j <= $nb_of_data ; $j++) {
${'my_data[' . $i . ']'}->data . $j;
}
}
括号之间的代码太多了!