Autor Zpráva
Chicago
Profil *
Ahoj. Mám dvě pole u kterých potřebuju vypsat rozdílné položky.
$big_array = array (
               
                            array (
                                      'correct' => FALSE,
                                      'answer' => 'false answer5'
                            ),
                            array (
                                      'correct' => FALSE,
                                      'answer' => 'false answer2'
                            ),
                            array (
                                      'correct' => FALSE,
                                      'answer' => 'false answer3'
                            ),                  
                            array (
                                      'correct' => TRUE,
                                      'answer' => 'correct answer'
                            )
            
);

$small_array = array (
                  
                           array (
                                      'correct' => TRUE,
                                      'answer' => 'correct answer'
                            )
              
);

Vytvořil jsem si funkci:

 function search_diff($a,$b){
  $return_arr=array();
  foreach($a as $val1){
    foreach($b as $val2){
      if(($val1['answer']==$val2['answer'])&&($val1['correct']==$val2['correct'])){
        continue 2;
      }
    }
    $return_arr[]=$val1;
  }
  return  $return_arr; 
} 

Funguje jak má, ale zajímalo by mě, zda vás nenapadá nějaké čistější a rychlejší řešení s použitím nativních php funkcí. Díky
Tori
Profil
Koukněte na array_udiff.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: