如何将数据数组注入具有其他数据的数组?

时间:2019-03-29 13:10:10

标签: php ajax for-loop while-loop

我有一个数组$code.$data,可以通过while循环从中输出结果:

while($i < $size-1){
    echo $code.$data[$i];
    $i++;
}
echo $code.$data[$i];

上面的代码呼应了我期望的结果。但是现在我想将这些while循环结果放入number子数组的messages属性中,例如'number'=$code.$data[$i];

$messages = array(
    // Put parameters here such as sender, force or test
    'sender' => "AJAXC",
    'messages' => array(
        array(
            'number' => 918341XXXXX, // here I want to get the above while
                                     // loop code and repeat with the variable
            'text' => rawurlencode('Hello,
                    Thanks for showing interest. 
                    Thanks,')
        ),
        array(
            'number' => 91XXXXXXXX,
            'text' => rawurlencode('Hello,
                    Thanks for showing interest.  
                    Thanks,')
        )
    )
);

我该如何实现?

1 个答案:

答案 0 :(得分:0)

如果我理解正确,那么您想要的messages条目与$code.$data中的条目一样多,并且这些消息条目中的每一个都应该是一个关联数组,其中number等于值在$code.$data中的相应索引处,并将text设置为一些固定的“ Hello ...”文本。

您可以使用array_map

在代码中替换以下内容:

    'messages' => array(
        array(
            'number' => 918341XXXXX,
            'text' => rawurlencode('Hello, ....')
        ),
        array(
            'number' => 91XXXXXXXX,
            'text' => rawurlencode('Hello, ....')
        )
    )

...与此:

    'messages' => array_map(function($item) {
        return array(
            'number' => $item,
            'text' => rawurlencode('Hello, ...')
        );
    }, $code.$data)