कोड:

while($row = mysqli_fetch_assoc($result)) 
{
     $data[] = array(
                            'city' => $row["city"],
                            'hotel' => $row["hotel_name"]
                        );
}
mysqli_close($con);
$results = json_encode($data);
$json = json_decode($results, true);
foreach($json as $fet)
{
    $datas = $fet['city']." | ".$fet['hotel'].", ";
    echo $datas;
}

इस कोड में मैंने एक स्वत: पूर्ण टेक्स्ट बॉक्स बनाया है और मैं डेटा के पहले और बाद में " जोड़ना चाहता हूं, मेरा डेटा इस तरह दिखता है:

delhi | Radisson, noida | Ramada Phuket Deevana Patong, noida | Eco Poplar

लेकिन मुझे ऐसा चाहिए:

"delhi | Radisson", "noida | Ramada Phuket Deevana Patong", "noida | Eco Poplar"

तो, मैं यह कैसे कर सकता हूँ? धन्यवाद

php
0
omkara 10 अगस्त 2018, 10:57

3 जवाब

सबसे बढ़िया उत्तर

बस दोहरे उद्धरण को एकल उद्धरण के बीच रखें: '"'
सुधार: परिणाम प्राप्त करते समय आप स्वरूपित स्ट्रिंग्स को सहेज सकते हैं। JSON संबंधित कार्य बेकार हैं। फिर implode() का उपयोग करके आउटपुट करें

$data = [];
while($row = mysqli_fetch_assoc($result)) 
{
     // double quotes between single quotes
     $data[] = '"' . $row["city"] . ' | ' . $row["hotel_name"] . '"';
}
mysqli_close($con);
// Here I removed useless json_encode/decode functions
// Then output strings separated by a coma
echo implode(', ', $data);
1
AymDev 13 अगस्त 2018, 13:25

आपके मामले में, आपके पास अंतिम तत्व के बाद अल्पविराम होगा, कृपया इस कोड को आजमाएं:

$data = [];
foreach($json as $fet) {
    $data[] = "\"{$fet['city']} | {$fet['hotel']}\"";    
}
echo implode(", ", $data);

implode(): http://php.net/manual /en/function.implode.php

0
Vasyl Zhuryk 10 अगस्त 2018, 11:41
$data[] = array(
  'city' => $row["city"],
  'hotel' => $row["hotel_name"]
);

$results = json_encode($data);
$json = json_decode($results, true);
foreach($json as $fet)
{
    $datas = '"'.$fet['city']." | ".$fet['hotel'].'"';
    echo $datas;
}
-2
P.Banerjee 10 अगस्त 2018, 11:59