我正在尝试使用动态变量。我知道这种语法有效:
$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;
}
}
&#39;数据的数量&#39;变化很大。
答案 0 :(得分:0)
为什么不让mydata成为多维数组呢?
$mydata = array();
$data = array(1 => "data",...);
$mydata[] = $data;
你可以互相交换mydata及其中的每个数据:
foreach($mydata as $md){
foreach($md as $data){
//do with $data what you want
}
}
答案 1 :(得分:0)
你在寻找这样的东西:
<?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';
}
?>
答案 2 :(得分:0)
我终于找到了答案。这是正确的语法:
for ($i = 0 ; $i <= $nb_of_iterations ; $i++) {
for ($j = 0 ; $j <= $nb_of_data ; $j++) {
${'my_data[' . $i . ']'}->data . $j;
}
}
括号内有太多代码!