[英]Create Associative Array using For Loop
我想要一個使用從數據庫和 $_GET 存儲的變量的以下格式的數組
array('FNAME' => 'NIDHI','EMAIL' => 'example@email.com','SRC' => '')
我正在嘗試的內容如下
if ($variableResult->num_rows>0) {
while($variable_row = $variableResult->fetch_assoc()) {
$variableArray[] = $variable_row['variable_name'];
}
$totalVariables = count($variableArray);
for($i = 0; $i < $totalVariables; $i++) {
$dataArray[] = array($variableArray[$i] => htmlspecialchars($_GET[$variableArray[$i]]));
}
var_dump($dataArray);
exit();
}
它給了我如下輸出
array(5) { [0]=> array(1) { ["EMAIL"]=> string(17) "nidhi@example.com" } [1]=> array(1) { ["LNAME"]= > string(5) "NIDHI" } [2]=> array(1) { ["THIS_IS_CUSTOM"]=> string(0) "" } [3]=> array(1) { ["THIS_IS_CUSTOM_2"]=> string(0) "" } [4]=> array(1) { ["THIS_IS_CUSTOM_3"]=> string(0) "" } }
這里不需要兩個循環。 1) while 和 2) for。 一會兒就夠了。
注意:下面的代碼可能不完美。 你可能需要稍微改變一下:)
$variableArray = []; // declare blank array variable first
while($variable_row = $variableResult->fetch_assoc()) {
if(!empty($variable_row['variable_name'])){ // check if key presnt
$varName = $variable_row['variable_name'];
if(!empty($_GET[$varName])){ // check if valid get variable exist
$variableArray[$varName] = htmlspecialchars($_GET[$varName]);
}
}
}
// print it for better visibility
echo '<pre>'; print_r($variableArray); echo '</pre>';
我相信它會給你正確的結果,但格式有點混亂。
代替:
var_dump($dataArray);
和:
print("<pre>".print_r($dataArray,true)."</pre>");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.