2012-05-03 41 views
0

我必须做的foreach数组:的foreach变量

Array 
(
    [0] => Array 
     (
      [name] => news_number 
      [value] => 10 
     ) 

) 

并获得 “价值” 变量$值。我能做些什么?

我有:

foreach($this->_config as $key){ 

foreach($key as $value['news_number'] => $key){ 

echo $key; 

} 

} 

,但并不好,我有 “news_number10”。

+0

输出为 “news_number10”? – Zuul

+0

因为你只是一个接一个地回应它,没有换行或休息或任何事情。 – jeremyharris

回答

1

试试这个:

foreach($this->_config as $key => $data) 
{ 
    echo $data['name']." is ".$data['value']."\n"; 
} 

如果您正在寻找您的配置数据的一个特定的变量,你可以简单地这样做:

foreach($this->_config as $key => $data) 
{ 
    if ($data['name'] == 'news_number') 
    { 
     $myNewsNumber = $data['value']; 
     break; 
    } 
} 
+0

感谢工作,我很长一段时间不写.. – zyeu

+0

再看一次,我需要具体的变量news_number和值 – zyeu

+0

检查编辑。这应该把你需要的值放到$ myNewsNumber中。 –

1

或者尝试:

foreach($this->_config as $data) 
{ 
    extract($data); 
    printf("%s is %s\n", $name, $value); 
} 
+0

工作过,提取功能:) – zyeu

0

难道你不能把它分配给数组吗?

foreach($this->_config as $key){ 

foreach($key as $value[0] => $key){ 

echo $key; 

} 

} 

你打算只有一个值吗?那么只需将数组编号更改为您希望在foreach中使用的数组。

+0

我有很多valuees其设置阵列 – zyeu

+0

但只有一个我需要两个 – zyeu

0

尝试

$this->_config = Array (
     0 => Array (
       'name' => "news_number", 
       'value' => 10 
     ) 
); 

foreach ($this->_config as $value) { 
    echo $value ['name'], " ", $value ['value']; 
} 

输出

news_number 10 
+0

工作,但需要具体news_numer变量 – zyeu

+0

什么你的意思是具体的news_number变量? – Baba

+0

我只需要发送从数组到变量不需要打印 – zyeu