簡體   English   中英

將php數組轉換為select

[英]convert php array into select

我有下面的錯誤(print_r顯示):

Array ( [address] => Array ( [0] => ikea, 17 Old Main Road, dubai ) [idDelAddress] => Array ( [0] => 102 ) ) 

我想將其轉換為一個選擇框,其中[address]是顯示的文本, [idDelAddress]是要與表單一起發布的值。

看來它們是兩個單獨的數組。

我已經嘗試過了,但是顯然它不能完全起作用。

foreach ($customeraddresses['address'] as $key => $value) {
    echo $key;
    echo "<br>";
    echo $value;
    //  echo '<option value="'.$key.'">'.$value.'</option>';
}

一如既往的感謝

好吧,應該。 你把一個select在你的標簽option標簽?

<select>
<?php

foreach ($customeraddresses['address'] as $key => $value) {

echo '<option value="'.$key.'">'.$value.'</option>';

}

?>
</select>

您有一個奇怪的數組結構。 您在一個數組中的一個數組僅包含一個值...該數組應該看起來像這樣。

Array ( 
    [102] => 'ikea, 17 Old Main Road, dubai '
)

如果您無法更改其結構,則必須編寫更復雜的代碼。 像這樣:

$countAddresses = count($customeraddresses['address']);

for($i = 0; $i < $countAddresses; ++$i) {
    echo '<option value="' . $customeraddresses['idDelAddress'][$i] . '">' . $customeraddresses['address'][$i] . '</option>';
}

實際上,您的數組不是最佳結構,無論如何(如果我對您的結構正確的話),您可以執行以下操作

echo '<option value="'.$customeraddresses['idDelAddress'][0].'">'.$customeraddresses['address'][0].'</option>';

如果你的數組更大,你可以做

for($i = 0; $i < sizeof($customeraddresses['address']); $i++) {
    // key -> $customeraddresses['idDelAddress'][$i]
    // val -> $customeraddresses['address'][$i]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM