php中的数组转换
如何打开此阵列:php中的数组转换,php,arrays,cakephp,Php,Arrays,Cakephp,如何打开此阵列: Array ( [0] => 234234234 [1] => 657567567 [2] => 234234234 [3] => 5674332 ) 为此: Array ( [contacts] => Array( [0] => Array ( [number] => 2342342
Array
(
[0] => 234234234
[1] => 657567567
[2] => 234234234
[3] => 5674332
)
为此:
Array
(
[contacts] => Array(
[0] => Array
(
[number] => 234234234
[contact_status] => 2
[user_id] =>3
)
[1] => Array
(
[number] => 657567567
[contact_status] => 2
[user_id] =>3
)
[3] => Array
(
[number] => 234234234
[contact_status] => 2
[user_id] =>3
)
[4] => Array
(
[number] => 5674332
[contact_status] => 2
[user_id] =>3
)
)
)
是否有特定于cakephp的方法来转换此数组
谢谢试试这个:
$output = array('contacts'=>array());
foreach ($input as $val) {
$output['contacts'][] = array(
'number' => $val,
'contact_status' => 2,
'user_id' => 3
);
}
我假设contact\u status
和user\u id
是静态的,因为您没有告诉任何其他信息。更好
$input = array(...);
$arr = array();
foreach ($input as $id) {
$arr[] = array(
'number' => $id,
'contact_status' => 2,
'userid' => 3;
);
}
$output = array('contacts' => $arr);
从sterofrog的溶液中进行一点清理。声明数组并使用array_push,而不是将其分配给空索引
$output = array( );
$contact_stats = 2;
$user_id = 3;
foreach( $input as $number ) {
array_push( $output[ 'contact' ], compact(
'number',
'contact_status',
'user_id'
));
}
您可以简单地使用如下函数:
$result = array_map(function ($n){
return array(
'number' => $n,
'contact_status' => 2,
'user_id' => 3);
}, $original);
它是联系人而不是内容;-)数组索引中的间隔是否是预期的?它使用数组_push,因为(如果我错了,有人会纠正我)它比为空索引赋值快。另外,我认为使用array_push和compact比以前的版本更容易阅读。提前将$output声明为数组是一种很好的编码实践。它可以防止php警告,并明确指出输出是一个数组。
$result = array_map(function ($n){
return array(
'number' => $n,
'contact_status' => 2,
'user_id' => 3);
}, $original);