중복 된 키를 스택 제거하고 새 배열에 할당하고 있습니다.
내 어레이 :
array (
[1] => Array
(
[name] => name1
[actions] => add
)
[2] => Array
(
[name] => name1
[actions] => remove
)
[3] => Array
(
[name] => name2
[actions] => dosomething1
)
[4] => Array
(
[name] => name2
[actions] => dosomething1
)
)
내가 달성하려는 것 :
array (
[1] => Array
(
[name] => name1
[actions] => add
[actions] => remove
)
[2] => Array
(
[name] => name2
[actions] => dosomething1
[actions] => dosomething1
)
)
내가 시도한 것 :
public function array_unique_multidimensional($input)
{
$serialized = array_map('serialize', $input);
$unique = array_unique($serialized);
return array_intersect_key($input, $unique);
}
동일한 배열을 잘못 반환하고 있습니다. 어떤 도움을 주시면 감사하겠습니다.
저장 값이있는 두 개의 배열 키를 가질 수 없습니다 (따라서 주어진 요소에 대해 두 개의 작업 요소가 가능하지 않음). 할 수있는 것은 여러 값이있는 단일 작업 요소를 갖는 것입니다.
$results = array();
foreach ($array as $v){
if (!isset($results[$v["name"]]){
$results[$v["name"]] = array("name"=>$v["name"], "actions"=>array($v["actions"]));
} else {
$results[$v["name"]]["actions"][] = $v["actions"];
}
}
최상위 배열에서 문자열 키를 제거하려면 할 수 있습니다.
$results = array_values($results);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다