提问人:Hào Nghiêm Xuân 提问时间:8/23/2016 最后编辑:Hào Nghiêm Xuân 更新时间:8/23/2016 访问量:1262
php:如何使用变量变量通过索引获取数组中的元素
php: How to get element in array by index using variable-variables
问:
如果我有:
<?php
$params=[
[
'string'
]
];
//params get from $this->params()->fromPost();
$abc='params[0][0]';//$abc dynamiccly
我无法访问$params[0]
如何获取元素?string
我试着用
echo $$abc;
但
注意:未定义的变量 params[0][]
答:
2赞
AmmyTech
8/23/2016
#1
使用以下方式访问字符串
$params=[
'string'
];
$abc='params';
$new = $$abc;
echo $new[0];
2赞
roberto06
8/23/2016
#2
如果是动态定义的,则必须将其拆分为两个变量:和 ,因此:$abc
$arrayName
$arrayKey
$params = array('string');
$abc = 'params[0]';
$arrayName = substr($abc,0,strpos($abc,'['));
$arrayIndex = preg_replace('/[^\d\s]/', '',$abc);
echo ${$arrayName}[$arrayIndex]; // returns "string"
评论
0赞
Afshan Shujat
8/23/2016
你已经动态定义了变量,你可以使用循环访问该值 -
0赞
Afshan Shujat
8/23/2016
#3
为了访问动态变量的值,您可以执行一个循环-
<?php
$params=[
'string'
];
$abc= 'params';
foreach($$abc as $k=>$v){
echo $v;
}
?>
如果你想直接通过索引访问它,那么你需要在另一个变量中重新分配动态变量,比如,然后访问$newArr。$newArr = $$abc
上一个:在 php 中动态创建类
下一个:PHP - 从函数作用域返回变量
评论
$abc