Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我有一个数组,我想把它改成多维数组。我该怎么做?_Php_Arrays_Multidimensional Array - Fatal编程技术网

Php 我有一个数组,我想把它改成多维数组。我该怎么做?

Php 我有一个数组,我想把它改成多维数组。我该怎么做?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,这是我的阵列: $array=["a2","a5","a7","b3","b8","b9"]; 我想把它改成: $result=["a"=>[2,5,7],"b"=>[3,8,9]; 只需使用str_split(),即可获得所需的结果php的功能 str_split-将字符串转换为数组 您可以从中阅读有关str\u split()的更多信息 注:考虑到给出的格式是一致的 可以使用php函数substr public function convertArray($array)

这是我的阵列:

$array=["a2","a5","a7","b3","b8","b9"];
我想把它改成:

$result=["a"=>[2,5,7],"b"=>[3,8,9]; 

只需使用
str_split(),即可获得所需的结果php的功能

str_split-将字符串转换为数组


您可以从中阅读有关
str\u split()
的更多信息

注:考虑到给出的格式是一致的


可以使用php函数substr

public function convertArray($array)
    {
        $new_Arr = array();
        foreach ($array as $value) {
            $new_Arr[substr($value, 0, 1)][] = substr($value, 1);
        }
        return $new_Arr;
    }
$array=[“a2”、“a5”、“a7”、“b3”、“b8”、“b9”];
$main=array();
对于($i=0;$i
还有一种方法:

<?php
    $array = ["a2","a5","a7","b3","b8","b9"];
    $finalArr = array();
    foreach($array as $val){
        $key  = $val[0]; //as string is an array of characters
        $finalArr[$key][] = intval(strrev($val));
    }
    print_r($finalArr);

到目前为止您尝试了什么?格式是否一致?如果是这样,
foreach
stru-split
应该能够满足您的需求。如果没有,请定义参数,同时显示您尝试过的内容将改善问题谢谢,但我尝试在没有内置函数的情况下执行此操作。
$array = ["a2", "a5", "a7", "b3", "b8", "b9"];
$main = array();
for ($i = 0; $i < count($array); $i++) {

    $str_sep = str_split($array[$i]);
    if (!in_array($str_sep[0], $main)) {
        array_push($main, $str_sep[0]);
        $main[$str_sep[0]]= $str_sep[1];
    }else{
        $main[$str_sep[0]].= ", ".$str_sep[1];
    }
}
<?php
    $array = ["a2","a5","a7","b3","b8","b9"];
    $finalArr = array();
    foreach($array as $val){
        $key  = $val[0]; //as string is an array of characters
        $finalArr[$key][] = intval(strrev($val));
    }
    print_r($finalArr);