循环遍历php多维数组的每个键和值
我有以下数组:循环遍历php多维数组的每个键和值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有以下数组: <pre>Array ( [student] => Array ( [admission_no] => Array ( [isEmpty] => Please enter Admission No ) [admission_date] => Array
<pre>Array
(
[student] => Array
(
[admission_no] => Array
(
[isEmpty] => Please enter Admission No
)
[admission_date] => Array
(
[isEmpty] => Please enter Admission Date
)
)
[student_personal_details] => Array
(
[first_name] => Array
(
[isEmpty] => Please enter First Name
)
[gender] => Array
(
[isEmpty] => Please select Gender
)
[birth_date] => Array
(
[isEmpty] => Please enter Birth Date
)
)
[student_gardian_details] => Array
(
[first_name] => Array
(
[isEmpty] => Please enter Gardian First Name
)
)
[student_education_details] => Array
(
[roll_no] => Array
(
[isEmpty] => Please enter Pin Code
)
)
)
我能有更好的主意吗?您可以在文档页面中查看php函数和示例
另请参见或者,您可以使用SPL
RecursiveArrayIterator
获取值。考虑这个例子:
Array
(
[0] => Please enter Admission No
[1] => Please enter Admission Date
[2] => Please enter First Name
[3] => Please enter Gender
[4] => Please enter Birth Date
[5] => Please enter Gardian First Name
[6] => Please enter Pin Code
)
样本输出:
function finalKeys($array)
{
global $return;
foreach($array as $key) {
if (is_array($key)) {
finalKeys($key);
}
else {
$return[] = $key;
}
}
return $return;
}
简单的函数可以实现这一点
private function getInternalErorrString($array) {
foreach($array as $val)
{
if(is_array($val)) {
$this->getInternalErorrString($val);
}
else {
echo $val ."<br/>";
}
}
}
$this->getInternalErorrString($array);
用法:
finalKeys($多维数组)代码>我没有检查您的代码,但更改以下代码将得到您所期望的结果。如果您只想获取消息数组,那么可以使用public var来存储该值,而不是回显它
私有函数getInternalErrorString($array){
foreach($val形式的数组)
{
if(is_数组($val)){
$this->getInternalErrorString($val);
}
否则{
echo$val.“
”;
}
}
}
$this->getInternalErrorString($array);
最终输出是什么?是否要获取isEmpty
上的所有项目?
function finalKeys($array)
{
global $return;
foreach($array as $key) {
if (is_array($key)) {
finalKeys($key);
}
else {
$return[] = $key;
}
}
return $return;
}
private function getInternalErorrString($array) {
foreach($array as $val)
{
if(is_array($val)) {
$this->getInternalErorrString($val);
}
else {
echo $val ."<br/>";
}
}
}
$this->getInternalErorrString($array);