Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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 - Fatal编程技术网

Php 是否在当前数组中插入不同的数组值作为键?

Php 是否在当前数组中插入不同的数组值作为键?,php,arrays,Php,Arrays,我正在尝试构建一个数组结构,以便更轻松地获取数据。 也许有人能帮我 如何将另一个数组中的值作为键值插入其中? $pers=[ “2019年/赫伯特”, “2019年/沃尔夫冈”, “2020/Doris”, “2020/Musti”, ]; 表示文件路径的多维数组 函数解析文件的路径($array){ rsort($数组); $result=array(); foreach($数组作为$项){ $parts=分解(“/”,$item); $current=&$result; 包括“parent

我正在尝试构建一个数组结构,以便更轻松地获取数据。 也许有人能帮我

如何将另一个数组中的值作为键值插入其中?

$pers=[
“2019年/赫伯特”,
“2019年/沃尔夫冈”,
“2020/Doris”,
“2020/Musti”,
];
表示文件路径的多维数组

函数解析文件的路径($array){
rsort($数组);
$result=array();
foreach($数组作为$项){
$parts=分解(“/”,$item);
$current=&$result;
包括“parentdir/”.$item./data.php';
//echo$article['date'];//示例:2020-05-06
对于($i=1,$max=count($parts);$i<$max;$i++){
如果(!isset($current[$parts[$i-1]])){
$current[$parts[$i-1]]=array();
}
$current=&$current[$parts[$i-1]];
}
$last=结束($parts);
如果(!isset($current[$last])&&$last){
//如果文件夹包含项目,则不要将文件夹名称添加为元素
$current[]=结束($parts);
}
}
返回$result;
}
回声'
我想使用包含的日期(2020-05-06)作为关键:

数组
(
//按rsort($数组);
[2020]=>阵列
(//通过rsort(??);
[2020-12-06]=>赫伯特
[2020-10-09]=>沃尔夫冈
[2020-05-19]=>Andy
)
[2019]=>阵列
(
[2019-12-22]=>多丽丝
[2019-10-02]=>Musti
[2019-01-21]=>Alex
[2019-01-20]=>Felix
)
)

谢谢你的回答,因为我是一个初学者,并没有真正理解所有的东西,所以对我来说正确地制定或准备问题并不容易。算是吧!来自维也纳的问候

假设在包含的文件中定义了
$artilce['date']
,这将构建正确的结构。您可能需要检查日期,如果没有,则设置为其他值。此外,请记住,如果有多篇文章具有相同的日期,则结果中将只显示
$pers
数组中最后一篇文章:

$current[$article['date']] = end($parts);
基于我对类似问题的回答

在所有这些之后,我想,在同样的警告下,您现有代码中的这一更改将起作用:


$parts
都有什么?@vivek_23 parts示例:2019年,赫伯特,很难说什么。你是如何得到这些日期的?@vivek_23我假设它在include
include'parentdir/.$item./data.php'中//echo$article['date'];//示例:2020-05-06
@abracadver是的,我再读一遍后似乎是这样。您好@abracadver,谢谢您的回答!我已经用我的代码替换了**上面的代码**,我应该做错了什么-我得到了一个空白页。但是如果我只将>与现有的>代码交换,那么它就可以工作了!非常感谢。如何控制分拣?按日期排序?我尝试在这里和那里插入不同$vars>的代码,但不幸的是,它不起作用。
$current[$article['date']] = end($parts);