PHP의 다차원 배열에서 요소를 제거하려고합니다. 여기에 코드입니다 : 내가 끼 었어다차원 배열 PHP에서 요소 제거
<?php
$tset = "ST3";
$gettc = "gettingtc1";
$getbid = "gettingbid1";
$getresultsid = "gettingresid1";
$users[$tset] = array();
$users[$tset][] = array("testcase"=>"$gettc",
"buildid"=>"$getbid",
"resultsid"=>"$getresultsid"
);
$tset = "TEJ";
$gettc = "ggettingtc2";
$getbid = "gettingbid2";
$getresultsid = "gettingresid2";
$users[$tset][] = array("testcase"=>"$gettc",
"buildid"=>"$getbid",
"resultsid"=>"$getresultsid"
);
$tset = "ST3";
$gettc = "ggettingtc12";
$getbid = "gettingbid13";
$getresultsid = "gettigresid14";
$users[$tset][] = array("testcase"=>"$gettc",
"buildid"=>"$getbid",
"resultsid"=>"$getresultsid"
);
foreach ($users as $val => $yy)
{
echo "For $val the array is :";
foreach($yy as $uy)
{
echo $uy['testcase'].$uy['buildid'].$uy['resultsid'];
}
echo '<br>';
}
$ser = "gettingresid1";
$to = array_searchRecursive($ser,$users);
if($to <> 0)
{
print_r($to);
}
else
{
echo "not";
}
function array_searchRecursive($needle, $haystack, $strict=true, $path=array())
{
if(!is_array($haystack)) {
return false;
}
foreach($haystack as $key => $val) {
if(is_array($val) && $subPath = array_searchRecursive($needle, $val, $strict, $path)) {
$path = array_merge($path, array($key), $subPath);
return $path;
} elseif((!$strict && $val == $needle) || ($strict && $val === $needle)) {
$path[] = $key;
return $path;
}
}
return false;
}
?>
은 다음과 같습니다 $to
내 검색 요소가 배열을 보유하고 있습니다. 그러나 $to
결과가 원래 배열 $users
에서 제거되어야합니다.
도움이됩니다.
감사합니다.
특정 요소를 검색하는 다차원 배열 $ users가 있습니다.이 요소가 발견되면 $ users에서 제거하려고합니다. 그렇습니까? 네가 묻고있는 것을 이해하려고 노력한다. – Gordon
예, 정확히 원하는 것 – JPro