Ú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->kephelyett$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
- Keressek intel i7-i9!!
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/1TB FHD IPS
- Szép! Lenovo Thinkpad T14s G2 Üzleti "Golyóálló" Laptop 14" -50% i7-1185G7 4Mag 16GB/512GB FHD IPS
- Dell PowerEdge T110 II PC, Xeon E3-1220 v2 CPU, 32 GB DDR3 RAM, 2 x 1 TB SAS HDD
- Lenovo Tab M10 HD 64GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3781, 100% Akkumulátor
- Apple iPhone 13 mini Red Kompakt méret, nagy teljesítmény 256 GB Használt,szép állapot, 100%
- GYÖNYÖRŰ iPhone 12 Mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3852, 100% Akksi
- Eladó 2db Nokia steel hr hibrid okos óra dobozával
- Samsung Galaxy S23 Ultra Green 120 Hz Dynamic AMOLED 2X, 200 MP kamera, beépített S Pen - 512GB
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


