cost 379 ms
如何用 PHP 生成器替換巨大的數組

[英]How to replace huge array with PHP generators

尋求您的幫助以使用 PHP 生成器轉換一個大數組。 以下是我需要返工的代碼:我從服務調用中獲取結果集並將所有結果分配給一個數組: 這段代碼在 while 循環中,它查詢偏移量為 1000 的記錄。問題是 $pointStdObjects[] 往往變得非常大,我得到 PHP 內存不足異常。 后來 ...

我怎樣才能知道生成器是否通過引用產生?

[英]How can I find out if generator yields by-reference?

我正在編寫一個通用組件,它包裝一個生成器並進行例行操作: 按鍵過濾轉化價值等等為了盡可能接近地模擬包裝生成器,如果生成器正在使用引用,我想使用引用。 當我嘗試使用foreach ($generator as $key => &$value)方法迭代非引用生成器時,我收到以下錯誤: 如 ...

PHP生成器返回類型

[英]PHP generator return type

我以前從未在PHP中使用過生成器,並且文檔中沒有示例顯示返回類型聲明。 在PhpStorm中,當我這樣做時,IDE中會出現錯誤: 錯誤是: 生成器只能聲明生成器的返回類型,Iterator或Traversable(或可迭代)無效。 我可以看到繼承樹是Travers ...

使用php yield / Generator :: send()獲取“數據輸出流”

[英]Using php yield / Generator::send() for a “data output stream”

我知道yield可用於創建數據迭代器,例如從CSV文件中讀取數據。 但是Generator :: send()方法表明我可以為順序寫入而不是讀取做同樣的事情。 我想用這樣的東西: 我想,上面的內容會奏效。 但是$output_generator->send(nu ...

更容易的菜單生成取決於會話

[英]Easier menu generation depended on session

我正在制作一個網站語言的菜單,它可以工作,但我認為我這樣做的方式不是最好的方式,以防我將來添加更多的語言。 也許某人可以展示更好的榜樣。 這是我所擁有的一塊。 可能會更好地做一些數組而不是foreach函數,但我不知道如何做x,x方式太混亂 ...

高效的PHP算法可生成輸入的所有組合/排列

[英]Efficient PHP algorithm to generate all combinations / permutations of inputs

我正在嘗試為多個輸入計算數組中一組值的所有組合。 與此問題類似: PHP算法可從單個集合生成特定大小的所有組合 例如: 輸出: 但是麻煩是當我將其增加到更大的列表時,例如: 排列的數量急劇增加,PHP用完了內存。 顯然,解決方案是使用生成器並在整個循環中產 ...

使用 while 迭代生成器

[英]Iterating over generators with while

我正在為一個新項目編寫 PDO 包裝器。 SQL 的一個非常常見的模式是編寫如下語句 我的包裝函數本質上是這樣的: 但是,如果我使用上述的while循環調用它,則無法使用這些值。 做一個var_dump表示$row是一個 Generator 對象。 如果我使用foreach , var_d ...

重構比較器/運算符塊以提高DRY的性能並降低CRAP級別

[英]Refactoring comparision/operators blocks to DRY up and reduce C.R.A.P level

我開始圍繞返回生成器的類(php 5.5)創建一個小項目。 這個小項目的主要動機是在我的TDD旅程中擴展,弄弄發電機,並准備一個可以放在包裝上供以后使用的包裝。 整個“項目”的當前狀態可以在Github上找到 所有測試都是綠色的,這些方法可以滿足我的要求。 現在我要重構,因為 ...


排序:
質量:
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM