第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

array_walk不改變價值

array_walk不改變價值

PHP
汪汪一只貓 2022-09-24 17:20:52
function values($id,$col){     $vals = [1=>['name'=>'Lifting Heavy Boxes']];     return $vals[$id][$col];}$complete = [1=>["id"=>"2","sid"=>"35","material_completed"=>"1","date"=>"2017-12-18"]];$form = 'my_form';array_walk($complete, function(&$d,$k) use($form) {    $k = values($k, 'name').' ['.date('m/d/y',strtotime($d['date'])).'] ('.$form.')';    echo 'in walk '.$k."\n";});print_r($complete);輸出:echoin walk Lifting Heavy Boxes [12/18/17] (my_form)輸出:print_rArray(    [1] => Array        (            [id] => 2            [sid] => 35            [material_completed] => 1            [date] => 2017-12-18        ))我有另一個非常相似的陣列行走,它做得很好。我能察覺到它們之間的唯一區(qū)別是正在運行的數(shù)組,$d的值在它通過步行之前已經(jīng)是一個字符串,而在不起作用的那個中,$d一個數(shù)組在步行中轉(zhuǎn)換為字符串(成功,但最終不成功)。我錯過了什么?這是固定版本:array_walk($complete, function(&$d,$k) use($form) {    $d = values($k, 'name').' ['.date('m/d/y',strtotime($d['date'])).'] ('.$form.')';});無論如何,這就是我想要做的。我沒有試圖改變鑰匙。我錯誤地認為,要更改值,您必須將鍵設(shè)置為新值。
查看完整描述

1 回答

?
守候你守候我

TA貢獻1802條經(jīng)驗 獲得超10個贊

您無法在 array_walk() 的回調(diào)中更改數(shù)組的鍵:

只有 的值可能會更改;它的結(jié)構(gòu)不能改變,即程序員不能添加,取消設(shè)置或重新排序元素。如果回調(diào)不遵守此要求,則此函數(shù)的行為是未定義的,并且是不可預(yù)知的。array

這在第一條評論中也提到:

array_walk不能用于更改數(shù)組中的鍵,這一點毫無價值。該函數(shù)可以定義為 (&$value, $key),但不能定義為 (&$value, &$key)。即使 PHP 沒有抱怨/警告,它也不會修改密鑰。


查看完整回答
反對 回復(fù) 2022-09-24
  • 1 回答
  • 0 關(guān)注
  • 95 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號