evolution.ix

New Member
Joined
Sep 28, 2017
Messages
245
Reaction score
0
Như tít ạ em có 1 mảng $data dạng Array được móc từ DB ra nó có dạng :D
array(4){
[0]=> array(2)
{ ["key"]=> string(3) "huy"
["value"]=> string(12) "huy ngay nha" }

[1]=> array(2)

{ ["key"]=> string(8) "nguyhiem"
["value"]=> string(25) "ko được đụng vô" }

[2]=> array(2)

{ ["key"]=> string(11) "nguyhiemlam"
["value"]=> string(20) "Khong dc dung vo nha" }

[3]=> array(2)

{ ["key"]=> string(9) "thanhcong"
["value"]=> string(10) "thanh cong" }
}
Em muốn chuyển nó sang dạng mảng mới có dạng
[
'huy' => 'huy ngay nha',
'nguyhiem' => 'ko được đụng vô',
'nguyhiemlam' => 'Khong dc dung vo nha',
'thanhcong' => 'thanh cong',


];
Code bằng Php thì coe như thế nào ạ :D, Em code tới đoạn này :D
$data = [Móc từ DB ra];
$x = [];
for ($i = 0; $i < count($data); $i ) {
$x[$i] = null;
}

foreach ($data as $xz) {
$key = $xz['key'];
$value = $xz['value'];
for ($i = 0; $i < count($data); $i ) {
$x[$i] =[$key=>$value];

}
}

return $x;
Mà nó ko lặp được hết kết quả key và value trả về :D, các bác giúp em với ạ :D
 

longdaigia

New Member
Joined
Oct 5, 2017
Messages
7
Reaction score
0
$result = [];
foreach ($data as $item) {
$result[$item['key']] = $item['value'];
}
 

kitopg

New Member
Joined
Sep 28, 2017
Messages
74
Reaction score
0
ông kia chỉ đúng rồi, post lại đoạn code làm theo ông kia lên thử
 

evolution.ix

New Member
Joined
Sep 28, 2017
Messages
245
Reaction score
0
kitopg said:
ông kia chỉ đúng rồi, post lại đoạn code làm theo ông kia lên thử
kết quả ra được ntn
longdaigia said:
$result = [];
foreach ($data as $item) {
$result[$item['key']] = $item['value'];
}
Đoạn code này em làm hồi sáng nó chỉ ra được kết quả như vậy
{
"thanhcong": "thanh cong"
}
Nó chỉ lấy được phần từ cuối cùng trong mảng 4 phần tử đó, cái em cần là lấy hết 4 phần tử
 

giupemvoi112233

New Member
Joined
Sep 28, 2017
Messages
503
Reaction score
0
làm sao chỉ lấy 1 phần tử cuối thôi?

coi kĩ có đúng key và value ko vì rõ ràng hình như thým code nó đè value khi loop
 

anhthu_viet

New Member
Joined
Sep 29, 2017
Messages
69
Reaction score
0
public function convertArrayToObject($array)
{
$obj = new \stdClass();
foreach ($array as $item) {
$obj->$item['key'] = $item['value'];
}
return $obj;
}
 

anhking1990

New Member
Joined
Sep 28, 2017
Messages
74
Reaction score
0
code ở #2 chuẩn rồi còn gì, nếu ko đc thì bạn xem lại dữ liệu của data bạn cung cấp có đúng không.
Code:
$data=array(0=>array("key"=>"huy","value"=>"huy ngay nha"), 1=>array("key"=>"nguyhiem","value"=>"ko được đụng vô"), 2=>array("key"=>"nguyhiemlam","value"=>"Khong dc dung vo nha"), 3=>array("key"=>"thanhcong","value"=>"thanh cong"));
var_dump($data);
$result=[];
foreach($data as $item)
{
$result[$item["key"]]=$item["value"];
}
var_dump($result);
Với code trên đưa ra kết quả
Code:
array (size=4)
0 => 
array (size=2)
'key' => string 'huy' (length=3)
'value' => string 'huy ngay nha' (length=12)
1 => 
array (size=2)
'key' => string 'nguyhiem' (length=8)
'value' => string 'ko được đụng vô' (length=23)
2 => 
array (size=2)
'key' => string 'nguyhiemlam' (length=11)
'value' => string 'Khong dc dung vo nha' (length=20)
3 => 
array (size=2)
'key' => string 'thanhcong' (length=9)
'value' => string 'thanh cong' (length=10)

array (size=4)
'huy' => string 'huy ngay nha' (length=12)
'nguyhiem' => string 'ko được đụng vô' (length=23)
'nguyhiemlam' => string 'Khong dc dung vo nha' (length=20)
'thanhcong' => string 'thanh cong' (length=10)
 

kanran111

New Member
Joined
Jan 24, 2018
Messages
415
Reaction score
0
ko ra thì bạn đè biến rồi. check lại đi, ko thì debug xem nó chạy thế nào là biết được liền. :nosebleed:
 
Top