我正在嘗試創建一個 http_build_query 陣列,但它插入了一些不同的字符,這是我的代碼:
function Conectar(){
try{
$opcoes = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8');
$con = new PDO("mysql:host=localhost; dbname=*****;", "*****", "*****", $opcoes);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $con;
} catch (Exception $e){
echo 'Erro: '.$e->getMessage();
return null;
}
}
$pdo = Conectar();
$sql = "
SELECT dominio
FROM dominios_extraidos
WHERE verificado='0' LIMIT 3
";
$stm = $pdo->prepare($sql);
$stm->execute();
while ($rows = $stm->fetch()) {
$query = http_build_query(array(
'domains' => array(
''.$rows['dominio'].'',
)
));
print_r($query);
}
創建此輸出:
domains[0]=0002021web.com.br
domains[0]=007import.com.br
domains[0]=00pet.com.br
但這是我的愿望輸出:
domains[0]=0002021web.com.br&domains[1]=007import.com.br&domains[2]=00pet.com.br
可以使用以下代碼手動生成我想要的輸出:
$query = http_build_query(array(
'domains' => array(
'0002021web.com.br',
'007import.com.br',
'00pet.com.br',
)
));
print_r($query);
感謝您的時間 :)
uj5u.com熱心網友回復:
您想先正確構建陣列,使其看起來像您的手動陣列,然后使用 http_build_query:
$domains = ['domains' => []];
while ($rows = $stm->fetch()) {
$domains['domains'][] = trim($rows['dominio']);
}
$query = http_build_query($domains);
print_r($query);
uj5u.com熱心網友回復:
在回圈中創建一個域陣列,然后在回圈完成后將其作為引數傳遞給http_build_query().
while ($rows = $stm->fetch()) {
$doms[] = trim($rows['dominio']);
}
$query = http_build_query( ['domains' => $doms] );
print_r($query);
這將產生
domains[0]=0002021web.com.br
&domains[1]=007import.com.br
&domains[2]=00pet.com.br
這相當于
domains[0]=0002021web.com.br
&domains[1]=007import.com.br
&domains[2]=00pet.com.br
uj5u.com熱心網友回復:
0A 解碼為 \n 或換行可能先嘗試使用
$query= trim($query, "\x00..\x20\x7F");
此代碼從 00 到 20 hex 和 7f hex 洗掉 ASCII 字符
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/413798.html
標籤:
下一篇:從某個元素的指標索引函式中的陣列
