Array met array keys

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle ontwikkelaar met PL/SQL en APEX in de regio

Bedrijfsomschrijving Het havengebied rondom Rotterdam biedt veel uitdagende projecten binnen o.a. container mangement, douane en warehousing. Deze organisatie biedt juist op dergelijke segmenten ICT-oplossingen van grote kwaliteit. Deze organisatie kenmerkt zich als een fullservice softwarehuis dat verantwoordelijk is voor zowel het bepalen van de informatie behoeftes bij klanten, inhouse software ontwikkeling en de implementatie van deze software. Dit doen ze inmiddels al een zeer geruime tijd voor voornamelijk klanten binnen de logistieke sector. Binnen de logistieke sector hebben ze inmiddels een imposant klantenbestand opgebouwd wat optimaal bediend wordt. Denk hierbij aan bijvoorbeeld grote vervoers/transportmaatschappijen. De organisatie is zeer goed bereikbaar

Bekijk vacature »

G Jansma

G Jansma

09/01/2017 14:37:42
Quote Anchor link
Hallo,

Ik wil een array maken met array keys, maar ik zit een beetje vast. Het eerste komt uit het voorbeeld van w3schools, maar hoe kan ik zoals het tweede deel zelf de structuur ingeven? Nu zet hij alles in array[0]. Ik heb namelijk tekst in die opmaak ($auto) die ik wil omzetten in een array.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php

    $a
=array("Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander");
    print_r($a);
    
    $auto = '"Volvo"=>"XC90","BMW"=>"X5","Toyota"=>"Highlander"';
    $a=array($auto);
    print_r($a);

?>
Gewijzigd op 09/01/2017 15:06:40 door G Jansma
 
PHP hulp

PHP hulp

17/01/2022 04:30:55
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/01/2017 14:51:26
Quote Anchor link
Volgens mij maak je het iets ingewikkelder dan nodig is.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
    $auto
= array(
        'Volvo' => 'XC90',
        'BMW' => 'X5',
        'Toyota' => 'Highlander'
    );

    print_r($auto);
?>
Gewijzigd op 09/01/2017 14:53:26 door Frank Nietbelangrijk
 
G Jansma

G Jansma

09/01/2017 15:06:16
Quote Anchor link
Ik weet niet of ik het ingewikkelder maak, maar ik raak iig een beetje verstrikt. Dat is eigenlijk dat voorbeeld van w3schools ja. Maar ik begin met tekst in de volgende opmaak:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $output = '{"id":1,"Naam":"Jan","Achternaam":"Jansen"}';?>


En daarna vervang ik dan wat tekens:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

    $output
= str_replace(array("{", "}"), "", $output);
    $output = str_replace(":", "=>", $output);

?>


En dat wil ik dan vervolgens als array gaan gebruiken.
 
- Ariën -
Beheerder

- Ariën -

09/01/2017 15:09:41
Quote Anchor link
En die string is een JSON-formatted string. En die kan je eenvoudig met json_decode kan 'ontrafelen' tot een leesbare array.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$string
='{"id":1,"Naam":"Jan","Achternaam":"Jansen"}';
$json = json_decode($string);
print_r($json);
?>
Gewijzigd op 09/01/2017 15:19:59 door - Ariën -
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/01/2017 15:19:10
Quote Anchor link
>> En die string is een JSON-formatted string. En die kan je eenvoudig met json_decode kan 'ontrafelen' tot een leesbare string array.
 
- Ariën -
Beheerder

- Ariën -

09/01/2017 15:20:14
Quote Anchor link
Juist, dat was een foutje van me.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/01/2017 15:20:44
Quote Anchor link
Belangrijk is dus dat je begrijpt dat voor PHP

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $output = '{"id":1,"Naam":"Jan","Achternaam":"Jansen"}';?>


een string is en dat je die met json_decode() kan omzetten naar een (php) array.

En andersom kan ook met json_encode()

Toevoeging op 09/01/2017 15:21:33:

>> Juist, dat was een foutje van me.

Maakt niet uit we houden elkaar scherp :-)
 
G Jansma

G Jansma

09/01/2017 15:40:32
Quote Anchor link
Kijk aan, bedankt!

Nog één vraagje. Als ik die $json print dan staat er stdClass Object bij, maar die kan ik niet gebruiken als array in PHP?

Ik vond wel onderstaande, maar doe ik dan een dubbele handeling?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php

$string
='{"id":1,"Naam":"Jan","Achternaam":"Jansen"}';
$json = json_decode($string);
$array = json_decode(json_encode($json), true);

echo "<pre>";
print_r($array);
echo "</pre>";

?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/01/2017 16:31:01
Quote Anchor link
Dat waren wij beiden vergeten. Je moet TRUE meegeven als tweede parameter om een array terug te krijgen.

Dus dit gaat goed:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$array
= json_decode($json, true);
?>
Gewijzigd op 09/01/2017 17:54:27 door Frank Nietbelangrijk
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.