如何使用CI中的foreach从Hashable
获取$uData
与TraineeID
匹配的所有数据。
的print_r($ UDATA); 输出
$aData
的print_r($ ADATA); 输出:
Array
(
[0]=>Array
(
[TraineeID]=>FMM003
[Status]=>P
[Review]=>1
[Remarks]=>Allow
)
[1]=>Array
(
[TraineeID]=>30089
[Status]=>P
[Review]=>1
[Remarks]=>Allow
)
[2]=>Array
(
[TraineeID]=>30097
[Status]=>P
[Review]=>1
[Remarks]=>countable class not start
)
)
答案 0 :(得分:2)
找出下面的解决方案..我希望它可以帮到你
$i = 0;
foreach($uData as $k=>$v)
{
if($aData[$i]['TraineeID'] == $v['TraineeID'])
{
echo "match";
$output[] = $v;
}
else
{
echo "fail";
}
$i++;
}
print_r($output);
答案 1 :(得分:1)
尝试以下代码。它可能会对你有帮助。
$result = array();
foreach($uData as $key=> $val) {
foreach($aData as $key2 => $val2) {
if($val['TraineeID'] == $val2['TraineeID']) {
$result[] = $val;
}
}
}
echo "<pre>";
print_r($result);
答案 2 :(得分:1)
一种解决方案可能是代码更少且易于阅读: -
foreach($aData as $value )
{
$key = array_search($value["TraineeID"], array_column($uData, 'TraineeID'));//get key of matched result
if($key !== false )//check not falsy
{
echo "<pre>";
print_r($uData[$key]);
echo "</pre>";
}
}
die();