多维数组的关联数组

我是PHP新手,需要一点帮助。对于某些人来说可能很容易,但给我带来了艰难的时光。

我有一个数组

Array ( [0] => page-18 [1] => page-20 )

我想进一步用'-'爆炸:

$mainStringBrk = array('page-18','page-20');
$finalArray = array();
foreach($mainStringBrk as $bString){
    $mainStringBrkBrk = explode('-',$bString);
    $finalArray[$mainStringBrkBrk[0]] = $mainStringBrkBrk[1];
}
echo '<pre>'; print_r($finalArray);

当我这样做时,它仅输出数组的最后一个键和值。

Array ( page => 20 )

我想要的输出是:

Array ( page => 18,page => 20 )

我想知道是否有人可以引导我正确的方向。

zjd1987zjd 回答:多维数组的关联数组

由于无法拥有具有相同键的数组,因此无法获得所需的结果。这就是为什么您的输出中只有一个结果的原因。您可以将输出结构更改为二维数组以解决此问题,例如

$mainStringBrk = array('page-18','page-20');
$finalArray = array();
foreach($mainStringBrk as $bString){
    $mainStringBrkBrk = explode('-',$bString);
    $finalArray[$mainStringBrkBrk[0]][] = $mainStringBrkBrk[1];
}
print_r($finalArray);

输出:

Array
(
    [page] => Array
        (
            [0] => 18
            [1] => 20
        )
)

或者,如果可以更适合您的需要,则可以采用此结构:

$finalArray = array();
foreach($mainStringBrk as $bString){
    $mainStringBrkBrk = explode('-',$bString);
    $finalArray[] = array($mainStringBrkBrk[0] => $mainStringBrkBrk[1]);
}
print_r($finalArray);

输出:

Array
(
    [0] => Array
        (
            [page] => 18
        )
    [1] => Array
        (
            [page] => 20
        )
)

Demo on 3v4l.org

本文链接:https://www.f2er.com/2997207.html

大家都在问