값으로 배열 항목을 제거하고 싶습니다. 키를 지정할 수 없습니다. 다음은 배열입니다. 배열 값을 내림차순으로 정렬했습니다.값으로 연관 배열을 해제합니다.
Array
(
[this] => 15
[that] => 10
[other] => 9
[random] => 8
[keys] => 4
)
값이 10 미만인 모든 항목의 설정을 해제하려면 어떻게해야합니까?
값으로 배열 항목을 제거하고 싶습니다. 키를 지정할 수 없습니다. 다음은 배열입니다. 배열 값을 내림차순으로 정렬했습니다.값으로 연관 배열을 해제합니다.
Array
(
[this] => 15
[that] => 10
[other] => 9
[random] => 8
[keys] => 4
)
값이 10 미만인 모든 항목의 설정을 해제하려면 어떻게해야합니까?
$test = array(
"this" => 15,
"that" => 10,
"other" => 9,
"random" => 8,
"keys" => 4
);
echo "pre: ";print_r($test);
pre: Array ([this] => 15 [that] => 10 [other] => 9 [random] => 8 [keys] => 4)
실행을 Knittl하기 :
foreach($test AS $key => $value) {
if($value <= 10) {
unset($test[$key]);
}
}
결과는 다음과 같습니다
echo "post: ";print_r($test);
post: Array ([this] => 15)
array_filter
기능 사용
$a = array_filter($a, function($x) { return !($x < 10); });
foreach($array as $key => $value)
if($value < 10)
unset($array[$key])
어떤 차이를 만들 가치에 대한 참조는 어떻습니까? –
맞아요, 뇌의 소리가 나야합니다. – JvdBerg
모든 값의 int 있다고 가정을 :
for (i=9;i>=0;i--)
{
while (array_search($i, $assocArray) !== false)
{
unset($assocArray[array_search($i, $assocArray)]);
}
}
이 아마이 일을 더 우아한 방법이 있지만, 발열에 확고한 그립을 가지고 내 뇌 :)
knittl 님의 답변은 정확하지만 이전 버전의 PHP 당신은 't 익명 기능을 사용할 수 있습니다, 단지 수행
function filterFunc($v)
{
return $v >= 10;
}
$yourArray = array_filter($yourArray,'filterFunc');
신용이 코드
http://php.net/manual/en/function.array-filter.php –
이것은 단지 1 차원 배열입니다. – knittl