2016-02-14 2 views
1

вот мой массив:Php Количество многомерным массив

$pid = array("id"=>array(
"098"=> array(
       array("size"=>25,"variant"=>"0925","qty"=>1), 
       array("size"=>26,"variant"=>"0926","qty"=>2) 
      ), 
"099"=> array(
       array("size"=>25,"variant"=>"0726","qty"=>1) 
      ) 
     ) 
     ); 

Могу ли я рассчитывать, сколько этот массив с другим идентификатором? могу ли я подсчитать размер этого массива по одному идентификатору?

я просто хочу посмотреть, как это:

ID = 2 
size of 098 = 2 
size of 099 = 1 
+2

Вы не можете ** иметь массив с одинаковыми клавишами. Это невозможно. –

+0

@u_mulder почему? я выбрал способы, подобные этому, для моей корзины для покупок, любые другие способы сделать это? –

+1

Подумайте об этом - если у вас есть массив с двумя одинаковыми ключами - что должно быть возвращено, когда вы ссылаетесь на '$ pid ['id'] ['098']'? Первое значение или второе? –

ответ

1

Это соответствует массиву:

<?php 
// Your array 
$pid = array("id"=>array(
    "098"=> array(
     array("size"=>25,"variant"=>"0925","qty"=>1), 
     array("size"=>26,"variant"=>"0926","qty"=>2) 
    ), 
    "099"=> array(
     array("size"=>25,"variant"=>"0726","qty"=>1) 
    ) 
)); 

// The relevant code 
foreach ($pid as $id => $items) { 
    echo $id . ' = ' . count($items) . '<br />'; 
    foreach ($items as $key1 => $item) { 
     echo 'size of ' . $key1 . ' = ' . count($item) . ' <br />'; 
    } 
} 
?> 

Результат:

ID = 2
размера 098 = 2
размер 099 = 1

1

Это дает Желаете выход ..

 echo 'ID ='.count($pid['id']); 
     foreach ($pid['id'] as $key => $res) { 
      echo 'size of ' .$key.'= ' .count($res); 
     } 

Выход

ID = 2

размера 098 = 2

размера 099 = 1

Смежные вопросы