특정 값으로 선택된 배열 내에서 전체 배열을 삭제하고 싶습니다. 이것은 내가 지금까지 얻은 코드입니다.값으로 PHP 배열에서 PHP 배열을 삭제하십시오.
배열을 모든 하위 배열로 설정 해제 한 다음 하위 배열을 다시 삽입하면 배열이 커질수록 성능 문제가 커질 수 있습니다.
내 질문은 아래 코드를 최적화하거나 한 배열을 제거하고 나머지는 그대로 둡니다. 값을 검색 할 때 예를 들어, 대부분의 경우 잘못된 결과를 반환합니다
감사합니다 :)
<?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);
?>
체크 아웃을 원할 수도 있습니다. codereview.stackexchange.com –
'$ currentValue'가 검색된 배열의 어디에 있는지 모르기 때문에'array_search()'를 사용하고 있습니까? 항상 'valueID' 키 아래에 있다면이 구체적인 키를 확인하는 것이 훨씬 빠릅니다 if ($ value ['valueID '] === $ currentValue) {...}'또는'return $ value ['valueID '] = == $ currentValue;'trincot의 대답이 – shudder
인 경우 @shudder, 실제로는 내 코드에서'! =='이됩니다. – trincot