如何使用PHP将每个数组值存储在变量中
我有一个数组,看起来像这样:如何使用PHP将每个数组值存储在变量中,php,arrays,variables,Php,Arrays,Variables,我有一个数组,看起来像这样: Array ( [2] => http://www.marleenvanlook.be/admin.php [4] => http://www.marleenvanlook.be/checklogin.php [5] => http://www.marleenvanlook.be/checkupload.php [6] => http://www.marleenvanlook.be/contact.php )
Array
(
[2] => http://www.marleenvanlook.be/admin.php
[4] => http://www.marleenvanlook.be/checklogin.php
[5] => http://www.marleenvanlook.be/checkupload.php
[6] => http://www.marleenvanlook.be/contact.php
)
我要做的是将这个数组中的每个值存储到一个变量中(使用PHP)。例如:
$something1 = "http://www.marleenvanlook.be/admin.php";
$something2 = "http://www.marleenvanlook.be/checklogin.php";
...
嗯。。你可以这样做吗
$myArray = array("http://www.marleenvanlook.be/admin.php","http://www.marleenvanlook.be/checklogin.php","etc");
$i = 0;
foreach($myArray as $value){
${'something'.$i} = $value;
$i++;
}
echo $something0; //http://www.marleenvanlook.be/admin.php
这将动态创建名为$something0
、$something1
等的变量,这些变量保存在foreach
中分配的数组值
如果您希望涉及密钥,也可以执行以下操作:
$myArray = array(1 => "http://www.marleenvanlook.be/admin.php","http://www.marleenvanlook.be/checklogin.php","etc");
foreach($myArray as $key => $value){
${'something'.$key} = $value;
}
echo $something1; //http://www.marleenvanlook.be/admin.php
PHP有一个名为的东西,它允许您使用另一个变量的值命名一个变量
$something = array(
'http://www.marleenvanlook.be/admin.php',
'http://www.marleenvanlook.be/checklogin.php',
'http://www.marleenvanlook.be/checkupload.php',
'http://www.marleenvanlook.be/contact.php',
);
foreach($something as $key => $value) {
$key = 'something' . $key;
$$key = $value;
// OR (condensed version)
// ${"something{$key}"} = $value;
}
echo $something2;
// http://www.marleenvanlook.be/checkupload.php
但问题是你为什么要这么做?要通过键访问,因此您可以执行以下操作:
echo $something[2];
// http://www.marleenvanlook.be/checkupload.php
我要做的是:
$something1 = $the_array[2];
$something2 = $the_array[4];
您可以使用extract()
:
有关为什么要这样做的详细信息?您可以使用
$arr[#]
直接访问数组元素,因此,对于实例echo$arr[2]代码>将输出<代码>http://www.marleenvanlook.be/admin.php
。这比为每个设置一个变量更容易,更不用说效率稍高一点,因为设置的变量不会超过需要的数量。很明显,您解决了一个错误的问题,每次添加一个新键时,您都会手动执行此操作?他问“我想做的是将此数组中的每个值存储到一个变量中。”-上面的例子非常基本。如果他想用foreach循环读取数组,他也可以用同样的方法完成变量命名
$data = array(
'something1',
'something2',
'something3',
);
extract($data, EXTR_PREFIX_ALL, 'var');
echo $var0; //Output something1