array_diff &

3 Cevap php
(I'm a beginner)

Benim komut standardını kullanır

$c = 0;
$t = count($array);

while ($c < $t) {
  $blah = $array[$c];
  ++$c;
}

oldukça yoğun. Ama sadece ben de array_diff gereken bir durum içine koştu ve onu cehenneme tüm şimdi sayısal tuşlar boşluklar var çünkü kırar. Ben her yerde Undefined offset hataları alıyorum.

Nasıl bir dizi sayısal tuşları sıfırlarım? Dizideki nesnelerin sırası ilgisizdir.

3 Cevap

Anahtarlarını sıfırlamak için kullanabilirsiniz array_values() :

$array = array_values($array);

Eğer dizinin anahtarlarını sıfırlamak gerekmez: Eğer bunun geçiyor biçimini değiştirmek zorunda.

Bunun yerine while döngü kullanarak ve indeks ile dizi elemnts erişim, sadece diziden size elemanları alacak olan, bir foreach döngü kullanmak gerekir:

foreach ($array as $key => $value) {
    // $key contains the index of the current element
    // $value contains the value of the current element
}

Sana Tatu ederiz.

For the lulz, Seninle mantıklı bir cevap beklerken ben kullandım şu salak kesmek paylaşacağım:

$badArray = array_diff($allData, $myData);

$string = implode(",",$badArray);

$dump = explode(",",$string);

$goodArray = $dump;

çalıştı. Bana bütün kirli hissettiriyordu, ama çalıştı.