2013-06-26 3 views
0

я следующий массив: (. Ех элемент art_7880)Как удалить/добавить элементы в массиве

array(4) { 
    [0]=> array(1) { 
      [0]=> array(3) { 
       [0]=> string(11) "art_7880" [1]=> string(1) "1" [2]=> int(2950) 
      } 
      [1]=> array(3) { 
       [0]=> string(8) "art_7880" [1]=> string(1) "1" [2]=> int(2950) 
      } 
      [2]=> array(3) { 
       [0]=> string(8) "art_7880" [1]=> string(1) "1" [2]=> int(2950) 
      } 
      [3]=> array(3) { 
       [0]=> string(8) "art_7883" [1]=> string(1) "1" [2]=> int(4335) 
      } 
} 

В глобальном массиве я хотел бы найти массив элементов, а затем я хотел бы добавить в глобальном массиве один массив с элементом art_7880.

Для примера: найти элемент, напр. art_7880

В глобальном массиве элемент будет массив с art_7880 - [0]=> string(8) "art_7880" [1]=> string(1) "1" [2]=> int(2950)

Мне нужно, чтобы получить этот массив [0]=> string(8) "art_7880" [1]=> string(1) "1" [2]=> int(2950) и добавить или удалить в глобальный массив один раз.

Это код, который я использовал:

foreach ($all_array as $keys => $elms) { 
if(in_array('art_7880', $elms) && !in_array('art_7880', $arr_uniq)){ 
$arr_uniq[] = ''art_7880''; 
var_dump($elms); //should been show `[0]=> string(11) "art_7880" [1]=> string(1) "1" [2]=> int(2950)` 
} 

Но это не работает ...

Может кто-нибудь пожалуйста, скажите мне, где ошибка?

+0

Вы попробовали что-нибудь? У вас есть образец кода для проверки? – Muc

+0

@Muc я обновляю вопрос и добавлю код, см. Раздел –

+0

Зачем вам две цитаты arround '$ arr_uniq [] = '' art_7880 '';' – Toto

ответ

0

Хммм, я думаю, проблема в том, что у вас есть два набора котировок вокруг «art_7880», которые в конечном итоге дают вам ошибку, например, «Ошибка синтаксиса: неожиданная« art_7880 »(T_STRING) ...». Следующий код должен затем обеспечить правильный вывод:

foreach ($all_array as $keys => $elms) { 
    if(in_array('art_7880', $elms) && !in_array('art_7880', $arr_uniq)){ 
     $arr_uniq[] = 'art_7880'; 
     var_dump($elms); 
    } 
} 

Если ваш вопрос не является (возможно, также), что у вас есть 3D-массив здесь, но вы только рассматривая его как 2D один. (Потому что я заметил, у вас есть много вложенного массива есть.) В этом случае, это должно дать правильный вывод:

foreach ($all_array[0] as $keys => $elms) { 
    if(in_array('art_7880', $elms) && !in_array('art_7880', $arr_uniq)){ 
     $arr_uniq[] = 'art_7880'; 
     var_dump($elms); 
    } 
} 

Надежда один из этих фрагментов кода были полезны. Удачи!