|
|
|
จะสอบถามเรื่อง json ว่าจะมีวิธีแยกข้อความออกมายังไงบ้าง |
|
|
|
|
|
|
|
Array
(
[data] => key=IAfpK, age=58, key=WNVdi, age=64, key=jp9zt, age=47, key=0Sr4C, age=68, key=CGEqo, age=76, key=IxKVQ, age=79, key=eD221, age=29, key=XZbHV, age=32, key=k1SN5, age=88, key=4SCsU, age=65, key=q3kG6, age=33, key=MGQpf, age=13, key=Kj6xW, age=14, key=tg2VM, age=30, key=WSnCU, age=24, key=f1Vvz, age=46, key=dOS7A, age=72, key=tDojg, age=82, key=nZyJA, age=48, key=R8JTk, age=29, key=005Ot, age=66, key=HHROm, age=12, key=5yzG8, age=51, key=xMJ5D, age=38, key=TXtVu, age=82, key=Hz38B, age=84, key=WfObU, age=27, key=mmqYB, age=14, key=4Z3Ay, age=62, key=x3B0i, age=55, key=QCiQB, age=72, key=zGtmR, age=66, key=nlIN9, age=8, key=hKalB, age=50, key=Na33O, age=17, key=jMeXm, age=15, key=OO2Mc, age=32, key=hhowx, age=34, key=gLMJf, age=60, key=PblX6, age=66, key=8Vm5W, age=22, key=oZKd6, age=88, key=RXNfQ, age=25, key=3yy0p, age=64, key=FrQbL, age=80, key=vlUkk, age=55, key=DP8po, age=80, key=EroX6, age=84, key=3bsll, age=86, key=QhZjA, age=85, key=wm6uc, age=74, key=MC1FM,...
)
คือตอนนี้ข้อมูล จากไฟล์ json ออกมาเป็นชุดเดียวกัน ผมอยากจะแยกออกมาเป็น
ชุดๆ เช่น ( key=iAfpK , age=58 ) , ( key=WNVdi , age=64 )
ใช้เป็นภาษา php เลยสามารถแยกได้ไหมครับ
Tag : PHP
|
|
|
|
|
|
Date :
2021-05-31 01:34:57 |
By :
byte00789 |
View :
1427 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ที่คุณแสดงอยู่นี้ เรียกว่า array
รูปแบบการอ้างอิง $array['keyname'];
Code (PHP)
$array['keyname'] = 'ข้อมูลใหม่';
echo $array['keyname'];
ส่วนข้อมูลที่เป็น object
รูปแบบการอ้างอิง $object->keyname;
Code (PHP)
$object->keyname = 'ข้อมูลใหม่';
echo $object->keyname;
|
|
|
|
|
Date :
2021-05-31 07:00:38 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไปเรียงลำดับใน controller ให้ชัดเจนก่อน ตอนนี้ array ที่ select ออกมามันมั่วๆอยู่ครับ ในแต่ละรอบควรกำหนด key ให้มันชัดเจน
Example
<?php
$arr = array();
for($i=0; $i<4; $i++)
{
$data= array("key"=>'api-'.$i, "value"=>$i*2);
array_push($arr,$data);
}
//print_r($arr);
$response = json_encode($arr);
print_r($response);
|
|
|
|
|
Date :
2021-05-31 11:16:55 |
By :
Genesis™ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้ฟังก์ชันก์จัดการ string เช่น explode...
เพราะ ข้อมูลฝั่งขวาของ => คือ value
value ที่เห็นจาก print_r เป็นก้อนเดียวของคีย์ data ซึ่งเป็น string
สังเกต array นี้มีสมาชิกแค่ 1 ที่มีชื่อ key เป็น "data" นั่นเอง
ตัวอย่าง (PHP)
// Rest API part
$data = [
"data" => "key=IAfpK, age=58, key=WNVdi, age=64, key=jp9zt, age=47, key=0Sr4C, age=68, key=CGEqo, age=76, key=IxKVQ, age=79, key=eD221, age=29, key=XZbHV, age=32, key=k1SN5, age=88, key=4SCsU, age=65, key=q3kG6, age=33, key=MGQpf, age=13, key=Kj6xW, age=14, key=tg2VM, age=30, key=WSnCU, age=24, key=f1Vvz, age=46, key=dOS7A, age=72, key=tDojg, age=82, key=nZyJA, age=48, key=R8JTk, age=29, key=005Ot, age=66, key=HHROm, age=12, key=5yzG8, age=51, key=xMJ5D, age=38, key=TXtVu, age=82, key=Hz38B, age=84, key=WfObU, age=27, key=mmqYB, age=14, key=4Z3Ay, age=62, key=x3B0i, age=55, key=QCiQB, age=72, key=zGtmR, age=66, key=nlIN9, age=8, key=hKalB, age=50, key=Na33O, age=17, key=jMeXm, age=15, key=OO2Mc, age=32, key=hhowx, age=34, key=gLMJf, age=60, key=PblX6, age=66, key=8Vm5W, age=22, key=oZKd6, age=88, key=RXNfQ, age=25, key=3yy0p, age=64, key=FrQbL, age=80, key=vlUkk, age=55, key=DP8po, age=80, key=EroX6, age=84, key=3bsll, age=86, key=QhZjA, age=85, key=wm6uc, age=74"
];
$j = json_encode($data);
// ---------------------------------------------------------------------------------------------------------------------
// convert JSON data to array
$d = json_decode($j, true); // ได้ข้อมูลเหมือน จขกท.
//print_r($d); // พิสูจน์ข้อมูลเหมือน จขกท.
//echo $d["data"];
// ตัวอย่างขั้นตอนการแยก string ด้วย delimiter(ตัวคั่น)
$dSplit = explode(", ", $d["data"]);
//print_r($dSplit);
// วนและเก็บข้อมูลตามเงื่อนไข
$c = [];
for ($i = 0; $i < count($dSplit); $i++) {
if ($i % 2 !== 0) {
$c[] = [
"key" => explode("=", $dSplit[$i-1])[1],
"age" => explode("=", $dSplit[$i])[1]
];
}
}
print_r($c);
Array
(
[0] => Array
(
[key] => IAfpK
[age] => 58
)
[1] => Array
(
[key] => WNVdi
[age] => 64
)
[2] => Array
(
[key] => jp9zt
[age] => 47
)
[3] => Array
(
[key] => 0Sr4C
[age] => 68
)
...
[50] => Array
(
[key] => wm6uc
[age] => 74
)
)
|
|
|
|
|
Date :
2021-05-31 12:26:45 |
By :
พญามัจจุราช |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|