Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中解析具有动态名称的变量?_Php_Arrays_Parsing_Variables - Fatal编程技术网

如何在PHP中解析具有动态名称的变量?

如何在PHP中解析具有动态名称的变量?,php,arrays,parsing,variables,Php,Arrays,Parsing,Variables,我确实有变量,比如 <?php $num1 = 'txt1'; $num2 = 'txt2'; $num3 = 'txt3'; ... 有人知道怎么处理吗 这个问题的技术术语是“可变变量”或“动态变量” 您应该做如下操作: $nums = array(); $nums[0] = 'txt1'; $nums[1] = 'txt2'; for ($i=0; $i<100; $i++){ echo 'This is textNr'.$i.':'

我确实有变量,比如

<?php
$num1 = 'txt1';
$num2 = 'txt2';
$num3 = 'txt3';   
...

有人知道怎么处理吗

这个问题的技术术语是“可变变量”或“动态变量”

您应该做如下操作:

  $nums = array();
  $nums[0] = 'txt1';
  $nums[1] = 'txt2';

  for ($i=0; $i<100; $i++){  
    echo 'This is textNr'.$i.':'   .$nums[$i]  ;
  }
$nums=array();
$nums[0]=“txt1”;
$nums[1]=“txt2”;

对于($i=0;$iphp变量可以用花括号构造,如下例所示:

echo 'This is textNr'.$i.':'   .${'num'.$i}  . "\r\n" ;
使用数组(Antoine的答案)可以将任何返回字符串放在括号之间,这是更好的做法。但是如果您想/需要使用您的解决方案

for ($i=1; $i<100; $i++){  
   echo 'This is textNr'.$i.':' . ${"num$i"}  ;
}
通过数组:您还可以声明一个数组

$array = ('text1', 'text2', 'text3', ... , 'textN');
echo count ( $array ); // echoes N, size of array
显示其项目

// Loop on array
foreach ($array as $text) {
  echo "$text\n";
}
显示text1、text2、…textN(每行一个)

您还可以使用for循环

$n=计数($array);

对于($i=0;$i您要查找的php术语是“variable variable”。php是极少数支持它的语言之一,有一个很好的理由——这种方法听起来有点错误。

您可以使用数组,如下所示:

$nums = array('txt1','txt2','txt3');

for ($i=0; $i<sizeof($nums); $i++){  
    echo 'This is textNr'.$i.':'   .$nums[$i]  ;
}
$nums=array('txt1','txt2','txt3');
对于($i=0;$i请尝试以下方法:

<?php
$nums = array();
  $nums[0] = 'txt1';
  $nums[1] = 'txt2';

  for ($i=0; $i<count($nums); $i++){  
    echo 'This is textNr'.$i.':'   .$nums[$i]  ;
  }
?>


是您选择的答案的改进版本。它只会显示您为数组设置的值。

为什么不使用数组并循环它呢?我不知道您在循环中要做什么。@Lance他认为使用
$num.$I
可以得到
$num1
如果
$I=1
他试图用
$I>循环变量
比如
$num.$i==$num1
等等。但这是一种错误的方法……哦,我明白了。对于初学者来说,在循环中定义$num。数组似乎很神奇。Thx,这应该可以用。我对PHP很陌生,但我想数组通常非常方便。Thx用于sizeof($nums)这非常方便,可以通过javascript将其命名为array.length
// Loop on array
foreach ($array as $text) {
  echo "$text\n";
}
$n = count($array);
for($i=0 ; $i<$n ; $i++) echo $array[$i] . "\n";
$nums = array('txt1','txt2','txt3');

for ($i=0; $i<sizeof($nums); $i++){  
    echo 'This is textNr'.$i.':'   .$nums[$i]  ;
}
<?php
$nums = array();
  $nums[0] = 'txt1';
  $nums[1] = 'txt2';

  for ($i=0; $i<count($nums); $i++){  
    echo 'This is textNr'.$i.':'   .$nums[$i]  ;
  }
?>