<code>foreach($items as item){ //在$items里面删除$item会影响循环的次数莫??? } </code>
因为我的这个$items数组很长。里面的每个item我只需要使用一次。然后就不会使用了。
我的想法就是使用一个删除一个。这样循环的元素就会越来越少。这个循环的运行时间就会比原来短。这种认识合理莫???
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 36 bytes)
测试的时候这个错误如何解???
回复内容:
<code>foreach($items as item){ //在$items里面删除$item会影响循环的次数莫??? } </code>
因为我的这个$items数组很长。里面的每个item我只需要使用一次。然后就不会使用了。
我的想法就是使用一个删除一个。这样循环的元素就会越来越少。这个循环的运行时间就会比原来短。这种认识合理莫???
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 36 bytes)
测试的时候这个错误如何解???
How 'foreach' actually works
这个上面的回答很有深度,表示没怎么看明白,但是还是给题主献上。
不会的、实际行动告诉你。
<code><?php $items = [1,2,3,4,5]; foreach ($items as $key => $value) { unset($items[$key]); print_r($items); } print_r($items); </code>
<code>//循环开始 Array ( [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) Array ( [2] => 3 [3] => 4 [4] => 5 ) Array ( [3] => 4 [4] => 5 ) Array ( [4] => 5 ) Array ( ) //循环结束 Array ( ) </code>
这个时间不会节省吧,每次循环都要对数组剔除,取数组[0],这时间会比每次循环直接取数组[i]来的更浪费吧
要想知道结果,最好的方式就是亲自实践一下!
不会吧,游标还是会一直往前推进呀
不会,数组在遍历的时候是使用的其一个副本
<code>foreach($items as $key=>item){ unset($items[$key]) } </code>
并不会啊,自己动手实践一下就知道了
并不会删除,foreach在循环的时候,数组下标不断向前推,你操作一个删除一个并不会影响。
但是,我想说,这样操作对楼主所说的很长的数组操作有速度上的优化吗?好像并没有!
不必要删除...
foreach的实现方式是借助数组的内部指针的...你遍历完这一个,指针就向后移动一个,所以你删除前面的值对这个根本就没影响,反而会破坏这个数组,比如遍历后还要用到这数组呢,而且删除的过程虽然消耗时间不多,但也是要消耗的...
这样做并不能减少内存啊。不过可以试试array_shift()或者 array_pop()那个函数,后者要比前者快。如果能考虑一下分治就更好了
如果你的数组过大,确实有溢出风险,但是你删除元素浪费的性能更多。
如果你的php version >= 5.5,建议使用php的新特性Generators。使用这种方法的优点是它可以让你在处理大数据集合的时候不用一次性的加载到内存中。甚至你可以处理无限大的数据流。
默认是不会删除的,因为是按照值来传递的.如果采用"&"进行引用传递的,那么就会直接删除原来的数组.
并不会被删除。
对于大数组来讲我同意hongchao的看法yield可以帮助你用更少的内存来完成遍历任务,但用的时间会更久。
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 36 bytes)
测试的时候这个错误如何解???
这个错误是你循环的时候php使用的的内存不够了 134217728=128M 建议调整php.ini里面的memory_limit配置
第一,你的遍历完一个删一个的思想不但不会优化程序性能,反而会增加负担,因为for each 遍历是内部指针推动的操作,过程是自动的,耗能很低,而你的想法是每操作完一次删一个元素对这个指针推进过程没有丝毫帮助,反而新增性能负担,因为删除元素也需要一点性能,放大后这些不必要的性能支出就变成一个不必要的累赘了; 第二,提示说明你的内存只有128m,不够用哦
foreach 循环每次都会复制把变量的值复制一遍循环。

Apa yang masih popular adalah kemudahan penggunaan, fleksibiliti dan ekosistem yang kuat. 1) Kemudahan penggunaan dan sintaks mudah menjadikannya pilihan pertama untuk pemula. 2) Bersepadu dengan pembangunan web, interaksi yang sangat baik dengan permintaan HTTP dan pangkalan data. 3) Ekosistem yang besar menyediakan banyak alat dan perpustakaan. 4) Komuniti aktif dan Sumber Sumber Terbuka menyesuaikan mereka dengan keperluan baru dan trend teknologi.

PHP dan Python adalah kedua-dua bahasa pengaturcaraan peringkat tinggi yang digunakan secara meluas dalam pembangunan web, pemprosesan data dan tugas automasi. 1.Php sering digunakan untuk membina laman web dinamik dan sistem pengurusan kandungan, sementara Python sering digunakan untuk membina kerangka web dan sains data. 2.Php Menggunakan Echo ke Kandungan Output, Python Menggunakan Cetakan. 3. Kedua-dua sokongan pengaturcaraan berorientasikan objek, tetapi sintaks dan kata kunci adalah berbeza. 4. PHP menyokong penukaran jenis lemah, manakala Python lebih ketat. 5. Pengoptimuman Prestasi PHP termasuk menggunakan OPCACHE dan pengaturcaraan asynchronous, manakala Python menggunakan pengaturcaraan CProfile dan tak segerak.

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.


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

DVWA
Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).