문제

나는 빈 문자열 인 것처럼 보이지만 사용하는 키가 있습니다. unset($array[""]); 키/값 쌍을 제거하지 않습니다. 내가 원하는 것을 수행하는 다른 기능이 보이지 않으므로 함수를 호출하는 것이 더 복잡하다고 생각합니다.

print_r의 요소 라인은입니다 [] => 1, 이는 키가 빈 문자열임을 나타냅니다.

var_export를 사용하면 요소가 다음과 같이 표시됩니다 '' => 1.

var_dump를 사용하면 요소가 다음과 같이 표시됩니다 [""]=>int(1).

지금까지, 나는 제안 된 모든 제거 방법을 시도했지만 요소를 제거한 사람은 없었습니다. 나는 시도했다 unset($array[""]);, unset($array['']);, 그리고 unset($array[null]); 운이 없습니다.

도움이 되었습니까?

해결책

노력하다 unset($array[null]);

그래도 작동하지 않으면 배열을 통해 인쇄하십시오 var_export 또는 var_dump 대신에 print_r, 이를 통해 키 유형을 볼 수 있으므로. 사용 var_export PHP 구문의 데이터를 보려면

var_export($array);

VAR_EXPORT는 재귀 구조에서 작동하지 않습니다.

다른 팁

시험을 마친:

$someList = Array('A' => 'Foo', 'B' => 'Bar', '' => 'Bah');
print_r($someList);
echo '<br/>';
unset($someList['A']);
print_r($someList);
echo '<br/>';
unset($someList['']);
print_r($someList);
echo '<br/>';

갖다:

Array ( [A] => Foo [B] => Bar [] => Bah )
Array ( [B] => Bar [] => Bah )
Array ( [B] => Bar )

키가 어디에서 왔는지 분석해야합니다 ...

내 생각에 그것은 빈 문자열이 아니라는 것입니다. 당신이 얻는 것을 보려면 다음을 시도하십시오.

foreach ($array as $index => $value) {
    echo $index;
    echo ' is ';
    echo gettype($index);
    echo "\n";
}

사용해보십시오 var_dump 대신에 print_r. 이것은 당신에게 열쇠가 무엇인지에 대한 더 나은 아이디어를 줄 수 있습니다.

무엇을 말해야할지 모르겠습니다. 이 스크립트를 실행합니다

<?php

$arr = array(
        false   => 1
    ,   true    => 2
    ,   null    => 3
    ,   'test'  => 4
//  ,   ''      => 5
);

print_r( $arr );

foreach ( $arr as $key => $value )
{
    var_dump( $key );
}

unset( $arr[''] );

print_r( $arr );

다음 출력을 얻습니다

Array
(
    [0] => 1
    [1] => 2
    [] => 3
    [test] => 4
)
int(0)
int(1)
string(0) ""
string(4) "test"
Array
(
    [0] => 1
    [1] => 2
    [test] => 4
)

"NULL"배열 키가 빈 문자열로 변환되었는지 확인하십시오.

배열 사본으로 작업하지 않습니까? 기능 내부에서 Unset () 로이 호출을 한 경우 가능합니다.

이것은 PHP 5.2.0에서 테스트되었습니다

해당 라인 전후에 체커 코드를 제거하는 데 사용하는 코드를 게시하십시오.

내가 찾고있는 것은 다음과 같습니다.

var_export($array);
echo "\n";
unset($array[""]);
var_export($array);

둘 다의 전체 출력도 게시하십시오 var_export 윤곽.

나는 다음과 같은 것을 찾고 있습니다.

array (
  '' => 1,
)
array (
)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top