อันนี้เป็นคำถามที่พันธิพ ไม่รู้ว่าจะเอาไปทำอะไรเหมือนกัน ผมได้เขียนตอบไป เลยเอามาให้ท่านๆดูกัน เผื่อเก็บเอาสิ่งละเล็กสิ่งละน้อย ในคำถามคำตอบ ไปประยุกต์การเขียนโปรแกรมของตนเอง
คำถาม :
คือ ผมต้องการให้ array เก็บ
$arr_column = array(“A”,”B”,”C”,”D”,”E”,”F”,”G”,”H”,”I”,”J”,”K”,”L”,”M”,”N”,”O”,”P”,”Q”,”R”,
“S”,”T”,”U”,”V”,”W”,”X”,”Y”,”Z”,”AA”,”AB”,”AC”,”AD”,”AF”,”AG”,”AH”,”AI”,”AJ”,”AK”,”AL”,
“AM”,”AN”,”AO”,”AP”,”AQ”,”AR”,”AS”,”AT”,”AU”,”AV”,”AW”,”AX”,”AY”,”AZ”,”BA”,”BB”,”BC ฯลฯ
ต่อ ไปเรื่อยๆ จนถึง ZZ หน่ะครับ แต่ทีนี้มานั่งเขียนเอาคงตายแน่ ผมเลย ลองใช้ for loop มาช่วยแอดแต่ทำไม่สำเร็จอ่ะครับ ยัง งงๆ กะ loop อยู่ พี่ๆ ช่วยดูให้หน่อยคับ
คำตอบ 1 :
$arr = array(); for ($i = 0; $i < 26; $i++) $arr[] = chr(65+$i); for ($i = 0; $i < 26; $i++) for ($j = 0; $j < 26; $j++) $arr[] = chr(65+$i) . chr(65+$j); |
คำตอบของพ้ม :
$arr_results = array(); $A_Z = range( 'A','Z' ); foreach( $A_Z as $key1=>$value1 ){ foreach( $A_Z as $key2=>$value2 ){ $arr_results[] = $value1.$value2; } } $arr_results = array_merge( $A_Z , $arr_results ); |
ผมเองถ้าเจอความต้องการประเภทเรียงลำดับ 1-10 a-z อะไรเทือกๆนี้ ผมเลือกจะใช้ range() มันเร็วดีครับ ลองต่อยอดฟังก์ชั่นตัวนี้ดูนะครับ ว่ามันใช้งานยังไง ประยุกต์ได้เยอะทีเดียว
minddezign says:
29/07/2552 at 29/07/2552
พี่ทูนี่เก่ง Array จริงๆ ใจดีด้วย ยังสละเวลาไปตอบในพันทิปอีก
ขอบคุณครับ
administrator says:
29/07/2552 at 29/07/2552
ผมเข้าไปตอบอยู่เรื่อยๆล่ะครับ เห็นกระทู้ของมะเด่นศรี ด้วย
minddezign says:
30/07/2552 at 30/07/2552
มะเด่นศรี ก็ได้แต่ถาม 555 ไม่เคยได้ตอบอะไรมากมายครับ 555
mandmod says:
28/10/2552 at 28/10/2552
ผมนั้งอ่าน Blog ของพี่ platoosom มาแล้วรู้สึกว่า ความรู้ที่ผมมีมันน้อยนิดจริงๆๆ ขอบคุณมาก ๆ เลย
- P - says:
01/12/2552 at 01/12/2552
ดีครับ ถ้าคนไทยแชร์ความรู้กันแบบนี้ ในอนาคตน่าจะตามประเทศใหญ่ๆทัน