本文目录一览:
- PHP 多维数组的合并与重组
- php一维数组变二维数组
- php遍历数组
- php array按键名相加 RT按下方group_id进行计算,相同id则相加到一起,最好能有注释整个过程
- php有什么函数能够直接转换数组?
PHP 多维数组的合并与重组
用foreach可以实现,希望对楼主有所帮助:$result
是结果
$result = array();
foreach ($attribute as $k => $v) {
$name = $v['group_name'];
$item = $v['item'];
// unset($v['group_name']); // unset($v['item']);
$result[$k]['group_name'] = $name;
$result[$k]['item'] = $item;
}
echo "<pre>";
print_r($result);
echo "</pre>";
php一维数组变二维数组
<?php
$a = array('a0' => '0001', 'b0' => '2', 'a1' => '0003', 'b1' => '6');
$array = change($a, 1);
print_r($array);
function change($array, $num) {
$b = array();
for ($i = 0; $i <= $num; $i++) {
$array = array();
$array['id'] = empty($a['a' . $i]) ? "" : $a['a' . $i];
$array['num'] = empty($a['b' . $i]) ? "" : $a['b' . $i];
$b[] = $array;
}
return $b;
}
?>
基本实现了你所要的功能。
php遍历数组
这个是二维数组,我给你个写法啊,首先要遍历array(1)
这个数组:
foreach ($array1 as $key => $value) {
echo $value;
}
前台将会输出$value
;然后你再遍历$value
:
foreach ($value as $key1 => $val1) {
$key1;
}
echo $value['key1'];
key1
填你想要的那个值的下标,第二次的遍历已经遍历出来了,不知道的话,就用print_r();
方法打印出来看。
php array按键名相加 RT按下方group_id进行计算,相同id则相加到一起,最好能有注释整个过程
<?php
function add_array($arr, $new_arr) {
if ($arr['group_id'] == 13) {
$new_arr[0]['group_id'] = $arr['group_id'];
foreach ($arr as $key => $value) {
if ($key != 'group_id') {
$new_arr[0][$key] += $value;
}
}
}
if ($arr['group_id'] == 14) {
$new_arr[1]['group_id'] = $arr['group_id'];
foreach ($arr as $key => $value) {
if ($key != 'group_id') {
$new_arr[1][$key] += $value;
}
}
}
}
$arr = array(
array('group_id' => 13, 'team_price' => 88.00, 'satopay_price' => 85.00, 'team_id' => 348, 'origin' => 440, 'gain' => 14.45, 'quantity' => 5),
array('group_id' => 13, 'team_price' => 12.00, 'satopay_price' => 11.00, 'team_id' => 344, 'origin' => 36, 'gain' => 2.76, 'quantity' => 3),
array('group_id' => 14, 'team_price' => 4.99, 'satopay_price' => 4.60, 'team_id' => 335, 'origin' => 4.99, 'gain' => 0.31915, 'quantity' => 1),
array('group_id' => 14, 'team_price' => 12.00, 'satopay_price' => 11.00, 'team_id' => 344, 'origin' => 24, 'gain' => 1.84, 'quantity' => 2),
);
$new_arr = array();
foreach ($arr as $key => $value) {
add_array($value, $new_arr);
}
print_r($new_arr);
?>
php有什么函数能够直接转换数组?
因为不支持代码标签了,上面放图,下面是代码。 php API 中没有可以直接打到效果的函数,在此封装了一个。
<?php
/**
* $list 数组
* $column_num 数据列数量
*/
function groupBy($list, $column_num) {
$group = [];
$keys = array_keys($list);
for ($i = 0; $i < $column_num; $i++) {
$item = [];
foreach ($keys as $key) {
$item[$key] = $list[$key][$i];
}
$group[] = $item;
}
return $group;
}
$temp = [
'bg' => ['bg1', 'bg2', 'bg3'],
'img' => ['img1', 'img2', 'img3'],
'url' => ['url1', 'url2', 'url3'],
];
$list = groupBy($temp, 3);
echo(json_encode($list));
?>