2013-03-12 52 views
1
var_dump($products); 

输出检索值:array(7) { [0]=> array(5) { ["Product"]=> array(40) { ["id"]=> string(3) "726" ["wbb"]=> string(1) "1" ["abb"]=> string(1) "0" }转储阵列,如何从阵列

但是当我做var_dump($products['Product']['wbb']);它给了我NULL

我将如何使用[“WBB”]的价值

if(!empty($product)) : 

如果我转储$产品,它会给我不同的产品,每个产品的细节。
一个产品的简单输出,当我倾倒$产品

array(7) { [0]=> array(5) { ["Product"]=> array(40) { ["id"]=> string(3) "726" ["wbb"]=> string(1) "1" ["abb"]=> string(1) "0" } 

{ [1]=> array(5) { ["Product"]=> array(40) { ["id"]=> string(3) "727" ["wbb"]=> string(1) "0" ["abb"]=> string(1) "1" } 

同样地,我有10多个产品,其中有些是WBB = 1,其中有些是ABB = 1。我想根据提出的标志添加工具提示。但是当我这样做时 $ i ++;

if(!empty($product[$i]['Product']['wbb'])){ echo code here.....} 

因为它迭代,所以它不会根据确切的产品给我。我该怎么做呢?

+1

$ products [0] ['Product'] ['wbb'] – 2013-03-12 15:56:14

+1

'$ product'变量来自哪里?你对你的'$产品'进行foreach吗?请分享*所有*相关代码,否则我们无法帮助您! – Oldskool 2013-03-12 16:41:09

回答

2

看起来你应该使用var_dump($products[0]['Product']['wbb']);

2

如果你仔细观察,你会发现,$products数组是一个多维数组,持有每一个数据行(从0开始)的数字键。任何额外的行将得到1,2等等。为了得到第一个(显然只)行提到wbb值,使用

var_dump($products[0]['Product']['wbb']); 

相反。

+0

我也试过这个,但同样的NULL值 – Akaash 2013-03-12 16:00:02

+1

@AbrarKiyani在这种情况下,你没有向我们展示你的所有代码。如果我在粘贴数组时重新创建数组,并使用上面的变量,则此代码示例输出'WBB为1',正如所期望的那样:https://gist.github.com/oldskool/5144154 – Oldskool 2013-03-12 16:06:45

2

$products是多个产品的数组。您应该使用:

var_dump($products[0]['Product']['wbb']); 
+1

然后你会调用' $ products'如果[0]键不在那里?无论如何,它仍然是一个数组,这个只是多维的,并且在每个结果行上进行数字索引。 – Oldskool 2013-03-12 15:58:11

+0

你是对的! – 2013-03-12 16:03:31