質問のタイトルが正確でない場合は申し訳ありません。私は最近、すべての本番環境を新しい本番サーバーに移動しました (以前は単なるローカルホストの取引でした)。
問題は、私の配列作業のかなりの部分が機能しなくなったことです。
私はこれらの線に沿って何かをすることができました:
$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] の下に第 2 レベルとして追加します。