如何解析php中的数组

时间:2015-02-13 18:18:40

标签: php arrays dynamic-arrays

我有关于php数组的问题..

我有一个在数组末尾有 x 数量值的数组。

例如,数组将是

[1] => 'Hello'
[2] => Value1, Value2, Value3
[3] => Value1, Value2, Value3
[4] => Value1, Value2, Value3
[5] => 'Good Bye'

[1] => 'Hello'
[2] => Value1, Value2, Value3
[3] => Value1, Value2, Value3
[4] => Value1, Value2, Value3
[5] => Value1, Value2, Value3
[6] => Value1, Value2, Value3
[7] => Value1, Value2, Value3
[8] => 'Good Bye'

或者可能是

[1] => 'Hello'
[2] => Value1, Value2, Value3
[3] => 'Good Bye'

这是我想要做的,我想在包含良好再见的数组项之前显示第2项的数组值。

我该怎么做呢?

谢谢,

2 个答案:

答案 0 :(得分:0)

我不确定这个问题,[2] => Value1, Value2, Value3是一个数组还是一个用逗号分隔值的字符串?

另外,通过在最后一个之前打印[2],您基本上只需按顺序打印它们。

$array = array (
    1 => 'Hello',
    2 => array('Value1', 'Value2', 'Value3'),
    3 => array('Value1', 'Value2', 'Value3'),
    4 => array('Value1', 'Value2', 'Value3'),
    5 => 'Good Bye'
);

foreach ($array as $key => $value) {
    if (is_array($value)===true) {
        foreach ($value as $invalue) {
            if (is_string($invalue)===true) {
                echo $invalue.", ";
            } else {
                echo 'Error? Throw Exception or something';
            }
        }
        echo "<br />";
        // or explode by , if the Value is string
    } elseif (is_string($value)===true) {
        echo $value."<br />";
    } else {
        echo 'Error? Throw Exception or something';
    }
}

如果您想以其他方式打印它们,请在打印输出之前存储输出,将当前字符串连接到结果输入并最后回显它。

$result = "";
foreach (..) {
    $result .= $current;
}
echo $result;

答案 1 :(得分:0)

没关系,我找到了解决办法。我使用了array_walk函数。