我有一個數組與愛人情況下的所有鍵,我需要改變他們,第一個字符將是大寫,就像ucfirs
函數那樣。有沒有可能不創建一個新的數組?如何更改數組中每個鍵的第一個字符?
回答
這是不可能的,而無需創建一個新的數組,但這裏有一個時髦的一個班輪你可以使用:
$array = array_combine(
array_map('ucfirst', array_keys($array)),
array_values($array)
);
它將數組分解爲鍵和值,將鍵轉換,然後將兩塊膠粘在一起。
+1 ....這是完美的答案.... :) –
簡單,乾淨。愛它。 :) – dschu
試試這個
foreach ($arr as $key=>$val){
unset($arr[$key]);
$key = ucfirst($key);
$arr[$key]=$val;
}
試試這個代碼:
foreach ($array as $key => $value) {
unset ($array[$key]);
$array[ucfirst($key)] = $value;
}
相信與否,這實際上創造了另一個陣列:) –
@傑克這對我來說工作得很好。 – Fluitketel
@Fluitketel當然,它的工作原理。我只是說第一次在unset($ array [$ key])'時刻內部複製了內部數據。 –
試試這個。它也可以用於嵌套數組。
<?php
function ucfirstKeys(&$data)
{
foreach ($data as $key => $value)
{
// Convert key
$newKey = ucfirst($key);
// Change key if needed
if ($newKey != $key)
{
unset($data[$key]);
$data[$newKey] = $value;
}
// Handle nested arrays
if (is_array($value))
{
ucfirstKeys($data[$key]);
}
}
}
$test = array('foo' => 'bar', 'moreFoo' => array('more' => 'foo'));
ucfirstKeys($test);
print_r($test);
- 1. 數組鍵中每個第一個字母的唯一ID?
- 2. 更改數組的關鍵,而每個
- 3. 如何更改數組列表的每個字符串元素?
- 4. 更改的第一個字符的字符串的每個單詞大寫
- 5. 如何將第一個字符更改爲數字?
- 6. 如何將int數組更改爲一個字符串數組?
- 7. 更改字符數組的一個成員改變另一個
- 8. 如何捕獲每個數組條目的第一個字母
- 9. 如何更改字符串的第一個字母的情況?
- 10. 在PHP中更改三維數組中的第一個數組的鍵
- 11. 如何更改基於另一個鍵的數組鍵的值?
- 12. 當第一個字符是數字時更改爲第一個大寫字母
- 13. 如何訪問字符數組的第一個字符?
- 14. 基於數組的第一個元素數組中的更改鍵多維
- 15. 如何獲取字符串數組中每個數據的第一個字符串?
- 16. 如何更改列表中每個元組的第二個組件?
- 17. 更改輸入時,鍵盤不接受第一個字符
- 18. 更改每個單詞的第一個字母的值
- 19. 更改兩個數組中的第一個數值(多維)PHP
- 20. 更改每個第二個ID組數據幀的ID列
- 21. 返回字符串中每個單詞的第一個字符
- 22. 刪除數組第一個索引的第一個字符?
- 23. 如何在JavaScript中捕獲每個字符串的第一個字符?
- 24. 如何檢查字符數組中的每個字符?
- 25. 如何修剪數組中每個鍵的最後兩個字符?
- 26. 如何從字節數組中選擇每個第一個字節
- 27. PHP獲得字符串中的每個第一個字符的位置到一個數組
- 28. 如何從JavaScript中的數組中的每個字符串中選擇第二個最後一個單詞?
- 29. 如何修改數組中的每個第n項?
- 30. 更改數組中的每個元素
沒有創建新數組就不可能。 –
你能解釋爲什麼你需要這個嗎?爲什麼關鍵是ucfirst?我想問的原因是因爲我認爲你是從錯誤的角度來解決問題的。 – Gordon