特定の値で選択された配列内の配列全体を削除したい。 これは私がこれまでに得たコードです。値でPHP配列からPHP配列を削除
私はすべてのサブアレイでアレイの設定を解除してから、サブアレイを挿入して戻ってきたので、もっと大きくても多くのアレイで大きなパフォーマンス上の問題が発生する可能性があります。
私の質問には、以下のコードを最適化する方法や、1つの配列を削除して残りの部分を手つかずのままにする方法がありますか?
感謝:)
<?php
$currentValue = '#6';
$otherValue = [ "ID" => '2', "valueID" => '#6' ];
$otherValue2 = [ "ID" => '3', "valueID" => '#7' ];
$otherValue3 = [ "ID" => '4', "valueID" => '#8' ];
$valueArray = [ $otherValue, $otherValue2, $otherValue3 ];
echo 'current value: '.$currentValue;
echo '<br><br>';
print_r($valueArray);
echo '<br><br>';
foreach($valueArray as $key => $value) {
echo 'Value: ';
print_r($value);
if(($key = array_search($currentValue, $value)) !== false) {
echo ' - true, '.$currentValue.' is in $value<br>';
unset($value);
unset($valueArray);
if(isset($value)) {
print_r($value);
echo '<br>';
} else {
echo '$value was deleted<br><br>';
}
} else {
echo ' - false<br>';
$valueArray[] = $value;
}
}
echo '<br>';
print_r($valueArray);
?>
checkoutしたいかもしれませんcodereview.stackexchange.com –
'$ currentValue'が検索される配列のどこにあるのかわからないので、' array_search() 'を使っていますか?それが常に 'valueID'キーの下にある場合、この具体的なキー' check(value ['valueID'] === $ currentValue){...} 'または' return $ value ['valueID'] = == $ currentValue; 'trincotの答えが – shudder
@shudderの場合、実際には私のコードでは'!== 'になります。 – trincot