KilobaiD
(Alex Mieila)
mai 18, 2018, 11:08am
1
Salutare revin cu o noua problema.
$str = file_get_contents('http://ip/file.json/');
$json = json_decode($str, true);
La print arata ceva de genul.
Array
(
[0] => Array
(
[endpoint] => 127.0.0.1
[id] => 1
[identifiers] => Array
(
[0] => steam:x
[1] => license:x
)
[name] => Test User.
[ping] => 80
)
)
Intrebarea este:
Cum pot selecta doar numele pentru fiecare player de pe server, fara a fi nevoit sa caut cu tot cu ID-ul de pe server?
Exemplu:
echo $json['0']['name'];
in
echo $json['name'];
Fara a mai folosi ['0']
.
Nu imi dau seama exact mai tarziu cum voi face foreach-ul sau while-ul pentru a selecta numele tuturor jucatorilor.
Multumesc!
Cred ca array_column e ceea ce iti trebuie tie si il folosesti asa:
$str = file_get_contents('http://ip/file.json/');
$json = json_decode($str, true);
$playerNames = array_column($json, 'name');
2 Likes
KilobaiD
(Alex Mieila)
mai 18, 2018, 11:19am
3
Merge <3 Dar daca ar fi sa afisez doar numele lor?
Am incercat cu print_r
Array
(
[0] => x
[1] => x2
)
Adica cum as putea face un echo in acest array_column?
Multumesc mult!
zshare
(Eduard-Dan Stănescu)
mai 18, 2018, 11:20am
4
De ce nu lucrezi direct cu obiecte, si transformi json_decode in array ?
1 Like
KilobaiD
(Alex Mieila)
mai 18, 2018, 11:21am
5
Este prima data cand lucrez cu JSON si dupa ce am facut putin research doar la asta am putut ajunge.
daca vrei doar sa afisezi numele poti face foreach direct pe array-ul din json_decode, nu mai ai nevoie de array_column.
$str = file_get_contents('http://ip/file.json/');
$json = json_decode($str, true);
foreach($json as $item) { echo $item['name']; }
2 Likes
zshare
(Eduard-Dan Stănescu)
mai 18, 2018, 11:22am
7
Trimite-mi si mie json-ul.
KilobaiD
(Alex Mieila)
mai 18, 2018, 11:23am
8
Done. Am sa incerc acum si varianta lui @anon48907206
Multumesc pentru raspunsuri.