2011-12-20 4 views
0

配列$insertar["Atributos"]に同じ値のキーがない場合にのみ、$variableを追加します。同じ値のキーがない場合にのみ配列に追加しますか?

$insertar["Atributos"][] = $variable; 

は私が$variableが格納されている場合は、事前にチェックし、それはありませんが、私はもっと簡単な方法があるかどうかを知りたい場合にのみ挿入するようにしますforeachを使用してそれを行うことができます。

答えて

1

明確にする:

私は、アレイ$insertar["Atributos"]に同じ値を持つキーが存在しない場合にのみ$variableを追加します。

# check if $variable exists as a value in $insertar["Atributos"], and not a key 
if (in_array($variable, $insertar["Atributos"])) { 
    # add $variable as a VALUE to the array 
    $insertar["Atributos"][] = $variable; 
} 
1

申し訳ありませんが、私は間違った質問を読んでいます。試してみてください(!in_array($ value、$ array)){...}

最初は、値がキーであると考えました。鍵が配列に含まれているかどうかを確認する場合は、array_key_existsではなくisset($array[$key])を使用してください。なぜなら、長い配列に対しては、はるかに高速に実行できるからです。

0

代替クリーンアップと後処理アプローチ:

$insertar = array_map("array_unique", $insertar); 

array_unique()を参照してください。しかし、暗黙的に値の項目を注文します。

関連する問題