数级是这样的:(从一大堆里面挑了一组数据,实际上我是想把所有的数据都取出来 echo 到视窗里)
[16] => Array
(
[option_id] => 30
[option_name] => att_type
[option_value] => rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc
)
我要达到的目的是,当我echo option_name的值arr_type(也就是直接 echo $arr_type)时,打印出 rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc来。
目前知道用循环来赋值,可是只能用echo $option_name来取到att_type这个值,不能echo $att_type来取 rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc。大神就帮我写一段代码实现我的想法吧,小白求助啊!!!!!!
大神来救我。。。。。。。。。。
上面有写错的地方,所有的arr_type都写错了,应该是att_type
大神快来救我啊。。。。。。。。。。。
不把代码贴出来很难帮助
不把代码贴出来很难帮助
$this->load->p()//public function p(){echo '
;print_r($arr);echo '
但你的这个需求实在是太另类、太奇异了
$a = array( 16 => Array ( 'option_id' => 30, 'option_name' => 'att_type', 'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc', ),);foreach($a as $r) { ${$r['option_name']} = $r['option_value']; echo $att_type;}
不知道是这个意思不
$arr = Array ( 'option_id' => 30, 'option_name' => 'att_type', 'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc' );$a[$arr['option_name']] = $arr['option_value'];extract($a);var_dump($att_type);
但你的这个需求实在是太另类、太奇异了
$a = array( 16 => Array ( 'option_id' => 30, 'option_name' => 'att_type', 'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc', ),);foreach($a as $r) { ${$r['option_name']} = $r['option_value']; echo $att_type;}
不知道是这个意思不
$arr = Array ( 'option_id' => 30, 'option_name' => 'att_type', 'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc' );$a[$arr['option_name']] = $arr['option_value'];extract($a);var_dump($att_type);
是吗?想当然了吧?!
我运行结果都出来了
我知道肯定 会用到extract 这个函数的,功能是好像是把name的值赋给value
是吗?想当然了吧?!
我运行结果都出来了
但你的这个需求实在是太另类、太奇异了
$a = array( 16 => Array ( 'option_id' => 30, 'option_name' => 'att_type', 'option_value' => 'rar,zip,gif,jpg,jpeg,png,txt,pdf,docx,doc', ),);foreach($a as $r) { ${$r['option_name']} = $r['option_value']; echo $att_type;}
为公平起见,我在用 码农谷 的在线编辑器演示给你
阅读手册中的 可变变量 一节
阅读手册中的 可变变量 一节
为了使用数组的可变变量名,你需要解决一个歧义问题。就是,如果你写$$a[1],解析器需要明白究竟你的意思是要把$a[1]当成一个变量,还是要把$$a当成变量、[1]指的是这个变量的索引。解决这个歧义问题的语法是:第一种情况使用${$a[1]},第二种情况使用${$a}[1]。
谢谢大神们!!!学会了