请问这段代码到底什么问题? 为什么会报错;
Array( [0] => Array ( [id] => 3 [fid] => 0 [name] => 333 [son] => Array ( [0] => Array ( [id] => 2 [fid] => 3 [name] => 2_3 [son] => Array ( [0] => Array ( [id] => 4 [fid] => 2 [name] => 2_4 ) ) ) [1] => Array ( [id] => 5 [fid] => 3 [name] => 2_3 ) ) ) [1] => Array ( [id] => 1 [fid] => 0 [name] => 111 ))
这是一个tree结构的数组,我希望在每个数组元素上加一个层级元素;
function tree_add_level($tree){ foreach($tree as &$val){ if(!isset($val['_level'])){ $val['_level']=0;//顶层为0 } if(isset($val['son'])){ $val['son']['_level']=$val['_level']+1; //下级加1 tree_add_level($val['son']); } } return $tree;}
但是却提示语法错误,求解决方法,或者其他方式. 谢谢
回复讨论(解决方案)
提示: Warning: Cannot use a scalar value as an array in D:\Web\BOOT\newfile.php on line 28
tree_add_level($val['son']); 这句代码到底有什么问题? 递归下而已.
你需要判断一下$tree是否是数组
你需要判断一下$tree是否是数组
$tree 和 $tree['son'] 100%是数组; 测试的就是上面的案例数组;
你这个数组能粘贴出来吗,我测试一下
你需要判断一下$tree是否是数组
谢谢,我加的
你这个数组能粘贴出来吗,我测试一下
谢谢了,已经解决了; 是逻辑错误,少了层引用;
function tree_add_level(&$tree,$n=0){
foreach($tree as &$val){
$val['_level']=$n;
isset($val['son']) && tree_add_level($val['son'],$n+1);
}
}
警告其实不影响,只要你得到了你想要的结果

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pelanjutan URL Pelanggan PHP (CURL) adalah alat yang berkuasa untuk pemaju, membolehkan interaksi lancar dengan pelayan jauh dan API rehat. Dengan memanfaatkan libcurl, perpustakaan pemindahan fail multi-protokol yang dihormati, php curl memudahkan execu yang cekap

Alipay Php ...

Adakah anda ingin memberikan penyelesaian segera, segera kepada masalah yang paling mendesak pelanggan anda? Sembang langsung membolehkan anda mempunyai perbualan masa nyata dengan pelanggan dan menyelesaikan masalah mereka dengan serta-merta. Ia membolehkan anda memberikan perkhidmatan yang lebih pantas kepada adat anda

Artikel membincangkan pengikatan statik lewat (LSB) dalam PHP, yang diperkenalkan dalam Php 5.3, yang membolehkan resolusi runtime kaedah statik memerlukan lebih banyak warisan yang fleksibel. Isu: LSB vs polimorfisme tradisional; Aplikasi Praktikal LSB dan Potensi Perfo

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Artikel membincangkan ciri -ciri keselamatan penting dalam rangka kerja untuk melindungi daripada kelemahan, termasuk pengesahan input, pengesahan, dan kemas kini tetap.

Artikel ini membincangkan menambah fungsi khusus kepada kerangka kerja, memberi tumpuan kepada pemahaman seni bina, mengenal pasti titik lanjutan, dan amalan terbaik untuk integrasi dan debugging.

Menghantar data JSON menggunakan perpustakaan Curl PHP dalam pembangunan PHP, sering kali perlu berinteraksi dengan API luaran. Salah satu cara biasa ialah menggunakan perpustakaan curl untuk menghantar post ...
