使用array_unique
之後,將刪除沒有重複值的數組。但是,看起來鍵也被移除了,這留下了數組索引中的間隙(儘管對於關聯數組來說是很好的)。如果我使用for循環進行迭代,我必須考慮缺失的索引,並將密鑰複製到新數組中,但這看起來很笨拙。在PHP中,我該如何糾正數組中缺少的鍵?
16
A
回答
39
$foo = array_values($foo);
將重新編號的數組,你
1
而不是使用它聽起來像你應該使用foreach循環迴路。顯然你不關心索引,因爲你重新編號。
這個循環:
for ($i = 0; $i < $loopSize; $i++)
{
process($myArray[$i]);
}
變成
foreach($myArray as $key=> $value)
{
process($value);
/** or process($myArray[$key]); */
}
or even more simply
foreach($myArray as $value)
{
process($value);
}
0
在我使用的,而不是嘗試的foreach在少數情況下,我很快就後悔了。
它總是可以避免的,你甚至可以使用foreach,但忽略值並使用鍵,幾乎忘了它是一個foreach而不是for,但是避免了鍵的任何間隙,並自動地處理你的界限沒有長度/最小/最大功能或任何東西。
ex。
foreach($myArray as $key=>$val)
{
myArray[$key] = myFunction(myArray[$key]);
}
我特別發現這對平行數組很有用。
$a = getA(); $b = getB();
foreach($a as $key=>val)
{
$sql = "INSERT INTO table (field1, field2) VALUES ($a[$key], $b[$key])";
}
相關問題
- 1. 如何在PHP中的數組中添加缺少的索引?
- 2. 如何糾正數組中的冗餘?
- 3. 如何糾正C中的大數組?
- 4. 在我的數組中缺少結果
- 5. 我如何糾正Imagick在PHP代碼?
- 6. 我該如何糾正editor.photoEditorDelegate = self?
- 7. 我該如何糾正ActiveRecord :: Associations :: CollectionProxy
- 8. 我該如何糾正這個雙關鍵字解碼?
- 9. 如何糾正我的php number_format錯誤?
- 10. 缺少PHP數組孫子
- 11. 數組中缺少整數
- 12. 如何糾正流程警告:解構(缺少註釋)
- 13. PHP中缺少Session_start函數
- 14. 在升級到Windows 10之後,我如何糾正這個ADODB在VB .NET中缺少的引用錯誤?
- 15. PHP數組刪除項目如果缺少關鍵
- 16. 在PHP函數中缺少參數?
- 17. 如何糾正我的$ PATH?
- 18. 我該如何糾正從一組html列表中隱藏列表?
- 19. 如何在數組或mySQL表中查找缺少的數據?
- 20. 在PHP中使用PHP查找給定數組中缺少的數字
- 21. PHP數組糾正JSON格式
- 22. 在php 5.6.8中缺少JSON_PRESERVE_ZERO_FRACTION
- 23. 我的PHP版本中缺少XMLReader?
- 24. PHP中缺少MySQL
- 25. 在多維數組中替換鍵時缺少值
- 26. 如何糾正丟失的單元格/缺少分隔符導致在列集合中「移位」的數據?
- 27. 我該如何糾正這個舍入函數?
- 28. 糾正php sendmail的參數?
- 29. 我的右軸被切斷了......我該如何糾正它?
- 30. 如何把鍵在數組中php
哇。我讀了數組函數的列表,完全錯過了那一個。謝謝。 – 2008-10-21 15:11:32