Új hozzászólás Aktív témák
-
nevemfel
senior tag
válasz
lanszelot #21434 üzenetére
46 sor - ezt nem tudom miért.
Mert ha a json_decode-nak nem adsz második paraméterként true-t, akkor a JSON objektumot a php-ban stdClass objektumként kapod meg, míg a második esetben asszociatív tömbként.
<?php
function mivanbenne($variable) {
echo '<pre>';
echo htmlspecialchars(var_export($variable, true));
echo '</pre>';
}
$data = '
{
"google": {
"kep": "google.jpg",
"link": "https:\/\/www.google.co.uk\/"
},
"youtube": {
"kep": "youtube.jpg",
"link": "https:\/\/www.youtube.com\/"
}
}';
$data_array = json_decode($data);
mivanbenne($data_array);
/*
(object) array(
'google' =>
(object) array(
'kep' => 'google.jpg',
'link' => 'https://www.google.co.uk/',
),
'youtube' =>
(object) array(
'kep' => 'youtube.jpg',
'link' => 'https://www.youtube.com/',
),
)
*/
$data_array = json_decode($data, true);
mivanbenne($data_array);
/*
array (
'google' =>
array (
'kep' => 'google.jpg',
'link' => 'https://www.google.co.uk/',
),
'youtube' =>
array (
'kep' => 'youtube.jpg',
'link' => 'https://www.youtube.com/',
),
)
*/Ha csak ki akarod írni a tartalmat, akkor nincs nagy különbség,
$row->kep
helyett$row["kep"]
-ben kapod az adatot, de ha hozzá akarsz nyúlni, pl. hozzáfűzni új elemet, akkor objektummal macerásabb, nehezen olvashatóbb:$data_array = json_decode($data);
$data_array->{'gmail'} = (object)[
"kep" => "gmail.jpg",
"link" => "https://gmail.com/"
];Asszociatív tömbnél egyszerűbb az egész:
$data_array = json_decode($data, true);
$data_array['gmail'] = [
"kep" => "gmail.jpg",
"link" => "https://gmail.com/"
];
Új hozzászólás Aktív témák
- Olcsó Laptop! Dell Latitude 7280. I5 7300U / 8GB DDR4 / 256GB SSD
- MSI Thin GF63 12VF 15.6" FHD IPS 5-12450H RTX 4060 16GB 512GB NVMe magyar vbill gar
- Apple iPhone 16 Pro Max - Desert Titanium - 256GB 1 ciklus 100% akku! 1 év garancia! Új készülék!
- iPhone 12 Kék 128GB
- SAMSUNG (LS34C500GAUXEN) 34 " GAMER WIDE MONITOR ! AKCIÓ
- AKCIÓ! Dell Optiplex 5050 SFF asztali számítógép - i5 7500 8GB DDR4 256GB SSD HD630 Win10
- BESZÁMÍTÁS! VALVE Steam Deck LCD 1TB SSD kézikonzol garanciával hibátlan működéssel
- AKCIÓ! ASUS STRIX B650E-E R7 7700 64GB DDR5 1TB SSD RTX 3080 10GB Thermaltake Ceres 500 850W
- Bomba ár! Lenovo ThinkPad T15 G1 - i5-10GEN I 16GB I 256GB SSD I 15,6" FHD Touch I Cam I W11 I Gari!
- Samsung Galaxy A04 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest