|
|
|
PHP สอบถามเรื่อง การดึงตัวแปลออกมาจาก Array(ดึงเฉพาะชื่อตัวแปล) |
|
|
|
|
|
|
|
Code (PHP)
foreach ($array as $key => $val) {
$array_name[] = $key;
}
|
|
|
|
|
Date :
2014-07-03 12:10:37 |
By :
soghband |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปกติผมไม่ชอบตอบคำถามโดยการเขียนโค้ดนะครับ
แต่เคสนี้หยวนๆ ให้
หาก pattern เป็น array 2 มิติแน่นอน และเป็นแบบ associated array แล้ว
กรณีที่ท่านต้องการ key ทุกตัวใน array มิติที่ 2 ออกมา โดยไม่ให้ซ้ำกัน ทำได้ดังนี้ครับ
***ในตัวอย่างที่ผมให้นี้ พยายามแสดงการใช้ function ของ array ให้ท่านกลับไปทำความเข้าใจ***
$arr = array(
array('data1'=>'aaaaaaa', 'data2'=>'bbbbbbbbbbb', 'data3'=>'cccccccc'),
array('data1'=>'aaaaaaa', 'data2'=>'bbbbbbbbbbb', 'data3'=>'cccccccc'),
array('data4'=>'xxxxxxx', 'data5'=>'yyyyyyyyyyyy', 'data10'=>'zzzzzzz')
);
$key = array();
array_walk($arr, function($keys){
global $key;
$key = array_merge($key, array_keys($keys));
}
);
$key = array_unique($key);
echo implode(", ", $key);
หากสังเกตดีๆ จะพบว่า ทำไมต้องเขียนให้ยืดยาว
คำตอบ ก็เพราะว่า
- ต้องการแสดงให้ท่านเข้าใจใน array function (บางตัว)
- ต้องการดึง key ในมิติที่ 2 ออกมา แบบไม่ให้ซ้ำ
- ผมว่าง เลยเขียนเล่นๆ
ไม่เข้าใจตรงไหน ถามท่านอื่นต่อได้เลยครับ ผมจะไปกินข้าวแล้ว
|
|
|
|
|
Date :
2014-07-03 12:30:30 |
By :
triplea |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|