如何从 3 维数组中获取单个变量?
How to get single variables out of 3 dimensional array?
我有一些我认为是 3 维数组的东西:
$var = '1,Tony,186|2,Andrea,163|3,Peter,178|4,Sally,172';
因此变量中包含了 2 个数组。首先由 | 分隔第二个,
我需要做的是:将它们分开,然后检查名称之前的ID,并给我其余的单个变量。
我这样试过:
<?php
$personid = 3;
$var = '1,Tony,186|2,Andrea,163|3,Peter,178|4,Sally,172';
$array = explode('|',$var);
foreach($array as $values) {
$arr = explode(",",$values);
foreach($arr as $value) {
if($value[0] == $personid) {
$id = $value[0];
$name = $value[1];
$height = $value[2];
$killloop = 1;
}
}
if($killloop == 1) {
break;
}
}
echo 'ID: '.$id.'<br> Name: '.$name.'<br> Height: '.$height;
?>
但我得到的只是:
ID: 3
Name:
Height:
有人能帮忙吗?
无需循环Into Second Array,您已经定义了位置。
始终使用 break 语句立即结束循环,这是一个很好的做法
<?php
$personid = 3;
$var = '1,Tony,186|2,Andrea,163|3,Peter,178|4,Sally,172';
$array = explode('|',$var);
foreach($array as $values) {
$arr = explode(",",$values);
if(!empty($arr) && $arr[0] == $personid){
$id = $arr[0];
$name = $arr[1];
$height = $arr[2];
break;
}
}
echo 'ID: '.$id.'<br> Name: '.$name.'<br> Height: '.$height;
?>
我有一些我认为是 3 维数组的东西:
$var = '1,Tony,186|2,Andrea,163|3,Peter,178|4,Sally,172';
因此变量中包含了 2 个数组。首先由 | 分隔第二个,
我需要做的是:将它们分开,然后检查名称之前的ID,并给我其余的单个变量。 我这样试过:
<?php
$personid = 3;
$var = '1,Tony,186|2,Andrea,163|3,Peter,178|4,Sally,172';
$array = explode('|',$var);
foreach($array as $values) {
$arr = explode(",",$values);
foreach($arr as $value) {
if($value[0] == $personid) {
$id = $value[0];
$name = $value[1];
$height = $value[2];
$killloop = 1;
}
}
if($killloop == 1) {
break;
}
}
echo 'ID: '.$id.'<br> Name: '.$name.'<br> Height: '.$height;
?>
但我得到的只是:
ID: 3
Name:
Height:
有人能帮忙吗?
无需循环Into Second Array,您已经定义了位置。 始终使用 break 语句立即结束循环,这是一个很好的做法
<?php
$personid = 3;
$var = '1,Tony,186|2,Andrea,163|3,Peter,178|4,Sally,172';
$array = explode('|',$var);
foreach($array as $values) {
$arr = explode(",",$values);
if(!empty($arr) && $arr[0] == $personid){
$id = $arr[0];
$name = $arr[1];
$height = $arr[2];
break;
}
}
echo 'ID: '.$id.'<br> Name: '.$name.'<br> Height: '.$height;
?>