php에서 array 요소를 삭제하는 것은 매우 간단하며 주로 설정되지 않은 array_splice이지만 오랫동안 함께 사용하면 차이를 구분하지 못하는 경우가 있습니다.
이것은 여러 곳에서 unset과 array_splice의 차이점입니다. array_splice() 함수를 삭제하면 배열의index 값도 변경됩니다. unset() 함수를 삭제해도 배열의 인덱스 값은 변경되지 않습니다.
$arr0=array('a','b','c','d','f'); $arr1=array( 'name'=>'lidequan', 'tel'=>'131****1234', 'height'=>'175', 'weight'=>'65' ); $arr2=array( 1=>'lidequan', 3=>'131****1234', 4=>'175', 6=>'65' ); $arr3=array( 'a'=>'lidequan', 3=>'131****1234', 4=>'175', 10=>'1705', 'b'=>'65' ); //1. array_splice($arr0,2,1); //2. unset($arr0[2]); //3. array_splice($arr1,2,1); //4. unset($arr1['height']); //5. array_splice($arr2,2,1); //6. unset($arr1[4]); //7.array_splice($arr3,2,1);
1과 2의 실행 결과가 다릅니다
1 실행 결과:array (size=4) 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'd' (length=1) 3 => string 'f' (length=1)
array (size=4) 0 => string 'a' (length=1) 1 => string 'b' (length=1) 3 => string 'd' (length=1) 4 => string 'f' (length=1)
array (size=3) 'name' => string 'lidequan' (length=8) 'tel' => string '131****1234' (length=11) 'weight' => string '65' (length=2)
unset 함수가 배열 키 값에 따라 배열의 요소를 삭제한다는 것입니다. 삭제 후에는 배열에서 더 이상 작업이 수행되지 않습니다. array_splice 함수는 배열의 요소 순서에 따라 요소를 삭제합니다(순서는 0부터 시작). 요소를 삭제한 후 배열에 키 값 integer을 가진 요소가 있는 경우 해당 요소는 배열의 순서 크기에 따라 삭제되며 키 값은 0~n까지 순차적으로 업데이트됩니다.
위 내용은 PHP는 배열 함수 사용 요약에서 요소를 삭제합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!