2014-12-08 4 views
1

Ниже приведено мое $newArr0, представляющее собой массив объектов.Убрать (удалить) массив в php

Array 
(
    [0] => stdClass Object 
     (
      [created_at] => Mon Dec 08 03:04:47 +0000 2014 
      [text] => How a individual man can adopt a village in andhra real guds needed hats off to you MASTER BLASTER #Sachin 
      [source] => Twitter Web Client 
     ) 
    [1] => stdClass Object 
     (
      [created_at] => Sun Dec 07 17:23:25 +0000 2014 
      [text] => #two #cool #peoples ..#Coolfieee ..#me nd #Sachin http://t.co/JU971nWAPo 
      [source] => Instagram 

    [2] => stdClass Object 
     (
      [created_at] => Sun Dec 07 15:18:22 +0000 2014 
      [text] => Snga hit 90 odi international fifty...can he hit 6 more to break sachin s fifty record ..#sachin 96 odi fifty ... 
kya lgta h tod dega record 
      [source] => Twitter Web Client 
     )  
    [3] => stdClass Object   
      [created_at] => Sun Dec 07 14:50:53 +0000 2014 
      [text] => @jeeturaaj Jeeturaaj want @sachin chi book pahje, please give #Sachin #playingitmyway ......:) 
      [source] => Twitter Web Client 
     ) 

    [4] => stdClass Object 
      [created_at] => Sun Dec 07 14:33:49 +0000 2014 
      [text] => RT @UthMag: Old... http://t.co/b1HMzE3TZI #BCCI #cricket #featured #global #ICC#india #littlemaster #News #ODI #retire #sachin #sports #te… 
      [source] => Twitter for Android 
     ) 
) 

Я пытаюсь бросить ключ с source именем из массива, поэтому я попытался этот код -

foreach ($newArr0 as $nkey1 => $nval1) { 
    if($nkey1 == "source") { 
     unset($newArr0["source"]); 
    } 
} 

Но не вынув ключ из $newArr0 Позвольте мне знать, что Я делаю неправильно здесь.

+0

попробовать этот код 'Еогеасп ($ newArr0 в $ nkey1 => $ nval1) { снята с охраны ($ newArr0 [$ nkey1] -> источник); } print_r ($ newArr0); ' – Girish

ответ

1

Во-первых, его коллекция объектов внутри массива, так что вы будете использовать оператор в -> стрелки на каждом объекте внутри вашего цикла. Затем, в качестве альтернативы, вы можете ссылаться на каждую копию объекта внутри foreach и сделать ваш unset.

foreach($newArr0 as &$nval1) { 
    // for each object inside `$newArr0` is in `$nval1` 
    unset($nval1->source); 
    // unset $nval1's source 
} 
+0

Wow..Это действительно работает :) thx Я скоро приму его (ограничение по времени) – Trialcoder

+0

@Trialcoder уверен, что я рад, что это помогло – Ghost

1
<?php 
$newArr = array(); 

foreach ($newArr0 as $key => $value) { 
    unset($value->source); 
    $newArr[$key] = $value; 
} 
$newArr0 = $newArr; 

Demo

-1

Здесь:

foreach ($array as $key => & $object) { 
    if ($object->source === 'source') { 
     unset($array[$key]); 
    } 
} 
+0

Это тоже не работает, так как вы эффективно удаляя запись в массиве, который вы зацикливаете ... Попробуйте дать некоторое объяснение вашему коду в будущем, так что это не просто решение, но и объяснение этому решению. – RichardBernards

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