抱歉,如果问题的标题不够准确。我最近将我所有的生产资料转移到了一个新的生产服务器(它曾经只是一个本地主机交易)。
问题是我的很多阵列工作不再有效。
我曾经能够按照这些思路做一些事情:
$arrtest = array();
$arrtest[1]="a";
$arrtest[1][2]="b";
var_dump($arrtest);
输出:
array(2) {
[1]=>
string(1) "a"
[2]=>
array(1) {
[2]=>
string(1) "b"
}
}
这将与以下内容相同:
$foo = array(1=>'a',array(2=>'b'));
但是,方括号不再“假设”一个数组。这是新的生产示例:
$arrtest = array();
$arrtest[1]="a";
$arrtest[1][2]="b";
var_dump($arrtest);
输出:
array(1) {
[1]=>
string(3) "a b"
}
我假设我在 php.ini 中缺少一个愚蠢的设置?我找不到我要找的东西,因为我不知道如何表达这个问题。
编辑 真实世界示例,因为即使我的问题本身也令人困惑。
foreach($mans as $key2=>$val2){
$models = scandir($level1.'/'.$val2);
foreach($models as $key3=>$val3){
if(substr($val3,0,1)==='.'){
unset($models[$key3]);
}
$mans[$key2][]=$models[$val3];
}
}
在这一点上几乎要重写整个事情。
尝试扫描顶级目录并获取文件夹名称(保存在 $mans 中)然后递归遍历 $mans 的每个目录并将其目录添加到 $mans[$key] 下作为第二级。