3
私はtimesとidsを持つ配列を持っていて、新しいidを付け加えています。例。配列の別の配列に類似の配列が存在するかどうかをチェックする方法
最初の配列
$times = array(
array('start'=>"1:00","end"=>"1:59","id"=>1),
array('start'=>"2:00","end"=>"2:59","id"=>1),
array('start'=>"3:00","end"=>"3:59","id"=>1),
array('start'=>"4:00","end"=>"4:59","id"=>1),
array('start'=>"5:00","end"=>"5:59","id"=>1),
array('start'=>"6:00","end"=>"6:59","id"=>1)
);
$time = array('start'=>"2:00","end"=>"2:59","id"=>2);
if(!in_array($time,$times){ // here is the problem
array_push($times,$time);
}
これは、/キーの同じペアを持っていることについてのその常に同じ以来、そのないペアのキー/値については重複しないを行う必要がありますIDの値に関係なく新しい要素が既に配列内に存在するかどうかを確認する
これは実際に問題を解決しますが、ここで$ timeは単なる例であり、$ timesを取得して新しい時刻を追加するために入れ子にしていますそれはCPU上の余分な負荷を意味する... しかし、私はそれを修正するので、私は解決策を受け入れるだろうt:D –
@ YamenImadNassif、hmm。アイテムの数が多い場合は、[バイナリ検索](https://en.wikipedia.org/wiki/Binary_search_algorithm)など、より効率的な検索アルゴリズムが必要です。また、メモリベースのデータベース(たとえば、Redis、またはMEMORYエンジンのMySQLテーブル)を使用することもできます。 –
私は速いものを必要とし、より効率的なものを置くので、私は瞬間の解決策をとるでしょう - 私が見つけた場合 - 後で ありがとう。 –