2017-06-09 20 views
1

私は、(memcacheからの引き込みまたはデータベースのクエリのいずれかによって)配列にデータを一括して取り込みます。私は、この配列内の行数が0より大きいかどうかを数えたいと思います。count()を使用すると、配列にデータがいっぱいの場合でも何も返されません。トラブルシューティングのためPHP count()は、空でない配列でNULLを返します。

、私は、次のコードを試してみました:

$item_count=count($item_data); 
print_r($item_data); 
die($item_count); 

これは私が146個の要素を有している見ることができる巨大なアレイをプリントアウトします。しかし、$ item_countはNULLです。どんなアイデアが間違っているのでしょうか?ありがとう!

コメントで要求されたように、ここで私がカウントしようとしているものと同様の配列が見えるかの例です:

Array 
(
    [0] => Array 
     (
      [calories] => 190 
      [healthy_option] => 0 
      [name] => Chicken McNuggets 
      [url_name] => chicken-mcnuggets 
      [category_name] => Chicken Nuggets and Strips 
      [category_url_name] => chicken-nuggets-strips 
      [category_id] => 85 
     ) 

    [1] => Array 
     (
      [calories] => 380 
      [healthy_option] => 0 
      [name] => Chicken Selects Premium Breast Strips - 3 piece 
      [url_name] => chicken-selects-premium-breast-strips-3-piece 
      [category_name] => Chicken Nuggets and Strips 
      [category_url_name] => chicken-nuggets-strips 
      [category_id] => 85 
     ) 

) 
+1

私は 'count'が' null'を返すとは思いません。何かスペルミスをしていないと確信していますか?そうでない場合は、レプリケーションのサンプルデータを提供してください。 –

+0

'echo $ item_count'または' var_dump($ item_count);を試してください – RiggsFolly

+0

提供されているサンプルデータを使って複製できません。 http://3v4l.orgに行って、できるかどうか確認してください。 –

答えて

2

die()機能がexit()のように振る舞います。 これは、Integer引数が "ステータス"とみなされることを意味します。 DOCから

状態が整数である場合、その値が終了ステータスとして使用して印刷しないであろう。終了ステータスは0〜254の範囲でなければなりません。終了ステータス255はPHPによって予約されており、使用されません。ステータス0は、プログラムを正常に終了させるために使用されます。

あなたが値を印刷したい場合は、私はなど、エコー、ますprint_rのような何か他のものを使用することをお勧めいたします

あなたは、ダイを(使用せずに同じ悩みを持っていますか)?

+0

ニースキャッチは完全に1つ見逃しました。 –

関連する問題