php数组group,php数组可以使用哪些键名

发布时间:2022-11-19

本文目录一览:

  1. PHP 多维数组的合并与重组
  2. php一维数组变二维数组
  3. php遍历数组
  4. php array按键名相加 RT按下方group_id进行计算,相同id则相加到一起,最好能有注释整个过程
  5. 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));
?>