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);