문제

두 개의 배열과 코드를 찾을 수있는 코드가 있습니다. array_diff :

$obs_ws = array("you", "your", "may", "me", "my", "etc");
$all_ws = array("LOVE", "World", "Your", "my", "etc", "CoDe");

$final_ws = array_diff($all_ws, $obs_ws);

위의 코드는 다음과 같이 출력 배열을 제공합니다.

$final_ws = array("LOVE", "World", "Your", "CoDe");

그러나 나는 그것을 원한다 :

$final_ws = array("LOVE", "World", "CoDe");

"귀하의"는 제거되지 않으며 "Y"가 두 번째 배열의 캡에 있기 때문일 수 있습니다. "당신의"도 제외하고 싶습니다. array_diff PHP에서.

나는 시도했다 Array_udiff 하지만 나는 내 문제에서 이것을 사용하는 방법을 정확히 얻지 못하고 있습니다.

감사

도움이 되었습니까?

해결책

통과하려고 노력하십시오 strcasecmp 세 번째 매개 변수로 array_udiff 기능:

<?php
$obs_ws = array("you", "your", "may", "me", "my", "etc");
$all_ws = array("LOVE", "World", "Your", "my", "etc", "CoDe");

$final_ws = array_udiff($all_ws, $obs_ws, 'strcasecmp');

print_r($final_ws);

산출:

Array
(
    [0] => LOVE
    [1] => World
    [5] => CoDe
)

다른 팁

당신은 올바른 길을 가고있었습니다. 이것이 나의 제안입니다 :

function array_casecmp($arr1,$arr2){
    return array_udiff($arr1,$arr2,'strcasecmp');
}


$obs_ws = array("you", "your", "may", "me", "my", "etc");
$all_ws = array("LOVE", "World", "Your", "my", "etc", "CoDe");
var_dump( array_casecmp($all_ws,$obs_ws) );
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top