php將一個數組按另一個數組的規則替換索引值並擷取其值轉為字串

來源:互聯網
上載者:User
現在有兩個數組
$arr1=array("q" => "1","w" => "2","e" => "3");$arr2=array([0] => "你",[1] => "我",[2] => "他");

現在我需要得到這樣一個數組
$arr = array("q" => "你","w" => "我","e" => "他");//然後需要只擷取這個數組的值 轉為字串 用逗號隔開  $str ='你,我,他';


回複討論(解決方案)

$arr1=array("q" => "1","w" => "2","e" => "3");$arr2=array(0 => "你",1 => "我",2 => "他");$arr3 = array_combine(array_keys($arr1), $arr2);print_r($arr3);echo join(',', $arr3);
Array(    [q] => 你    [w] => 我    [e] => 他)你,我,他

$arr1=array("q" => "1","w" => "2","e" => "3");$arr2=array(0 => "你",1 => "我",2 => "他");$arr3 = array_combine(array_keys($arr1), $arr2);print_r($arr3);echo join(',', $arr3);
Array(    [q] => 你    [w] => 我    [e] => 他)你,我,他


謝大神 不過我剛嘗試了一下 還是有問題
我給下執行個體吧

Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) )

這是$arr1 的數組 是一個表示類型的參數 比如發起申請 取消申請 申請被駁回等動作 資料庫裡讀出來的就是 5,16這樣的數字,範圍是1-20
依據條件 讀出的條數不定可能超過20條 也就可能會有重複的 5,5,5,6,6,10,10 這樣的

然後有$arr2 就是[0]到[19]對應 20個類型的中文說明 都是簡短的四個字

向使用者呈現的訊息需要是 xxx有以下動作 :發起申請,申請被駁回,加入,歸檔,....。 這樣子的

然後按您的來試了下 echo join(',', $arr3);的值msgtype和一個表達狀態的變數status=1 組成一個json返回 以下的返回的
{"msgtype":null,"status":1}

print_r($arr3);為空白
var_dump 為bool(false)

$typearr = array(
[0] => "系統通知",
[1] => "材料通過",
[2] => "審核失敗",
[3] => "額度更新"
.....
);
這是arr2的數組 麻煩幫我檢查下 是不是arr1 arr2兩個數組的問題



Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) )
你這可是二維數組呀

Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) )
你這可是二維數組呀



啊哦...
原來唯讀取一個欄位也會是一個數組
從資料庫裡讀出來的都是is_notice這個欄位
這裡我怎麼轉成
$arr1=array(
"is_notice" => "1",
"is_notice" => "5",
"is_notice" => "16"
);

求教

這樣嗎?

$arr1 = array(    array('is_notice'=>3),    array('is_notice'=>2),    array('is_notice'=>1));$arr2 = array(    0 => '系統通知',    1 => '材料通過',    2 => '審核失敗',    3 => '額度更新');$arr3 = array();foreach($arr1 as $k=>$v){    $arr3[]['is_notice'] = $arr2[$v['is_notice']];}print_r($arr3);



Array
(
[0] => Array
(
[is_notice] => 額度更新
)

[1] => Array
(
[is_notice] => 審核失敗
)

[2] => Array
(
[is_notice] => 材料通過
)

)


Array ( [0] => Array ( [is_notice] => 5 ) [1] => Array ( [is_notice] => 16 ) )
你這可是二維數組呀



啊哦...
原來唯讀取一個欄位也會是一個數組
從資料庫裡讀出來的都是is_notice這個欄位
這裡我怎麼轉成
$arr1=array(
"is_notice" => "1",
"is_notice" => "5",
"is_notice" => "16"
);

求教


這樣也是二維數組了
這樣可以
$arr3[] = $arr2[$v['is_notice']];

感謝!!
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.