3
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Ai đó có thể giúp tôi tạo ra một hàm để chuyển đổi số nguyên thành các ký tự trong PHP như thế này:
'A' => 0, 'B' => 1, 'C' => 2, 'D' => 3, 'E' => 4, 'F' => 5, 'G' => 6, 'H' => 7, 'I' => 8, 'J' => 9Nếu số là 100, thì nó sẽ tạo BAA.
A, B, C ... chỉ là một ví dụ. Tôi đang cố gắng mã hóa các số bằng mã.
Tôi cần điều này để làm việc với một số từ như
0 => zero 1 => onevân vân
Nhưng khi tôi đưa ra số 10, nó sẽ xuất ra 0 => zero 1 => one 0.
Cảm ơn trước
MHU
17.5k10 Huy hiệu vàng61 Huy hiệu bạc89 Huy hiệu đồng10 gold badges61 silver badges89 bronze badges
Hỏi ngày 24 tháng 4 năm 2013 lúc 13:16Apr 24, 2013 at 13:16
7
Đơn giản thử như thế này
$letter = chr($i+65); echo $letter;đưa ra một'
Đã trả lời ngày 24 tháng 4 năm 2013 lúc 13:18Apr 24, 2013 at 13:18
GautamD31GautamD31GautamD31
28.2K10 Huy hiệu vàng60 Huy hiệu bạc84 Huy hiệu đồng10 gold badges60 silver badges84 bronze badges
0
<?php $list=array('A' => 0, 'B' => 1, 'C' => 2, 'D' => 3, 'E' => 4, 'F' => 5, 'G' => 6, 'H' => 7, 'I' => 8, 'J' => 9); $num=1234; //your value $temp=''; $arr_num=str_split ($num); foreach($arr_num as $data) { $temp.=array_search($data,$list); } $num=$temp; echo $num; // here we get BCDE ?>
Đã trả lời ngày 24 tháng 4 năm 2013 lúc 13:29Apr 24, 2013 at 13:29
Shijin Trshijin trShijin TR
7.27810 Huy hiệu vàng48 Huy hiệu bạc117 Huy hiệu đồng10 gold badges48 silver badges117 bronze badges
2
Điều này có thể làm việc cho bạn:
$numarr=array('A' => 0, 'B' => 1, 'C' => 2); $narr = array_flip($numarr); $num = 100; $arr = str_split($num); $str = ''; foreach($arr as $s) $str .= $narr[$s]; echo $str . "\n"; //BAABản demo trực tiếp: //ideone.com/3xqoz7
Đã trả lời ngày 24 tháng 4 năm 2013 lúc 13:18Apr 24, 2013 at 13:18
28.2K10 Huy hiệu vàng60 Huy hiệu bạc84 Huy hiệu đồnganubhava
Đã trả lời ngày 24 tháng 4 năm 2013 lúc 13:2962 gold badges534 silver badges614 bronze badges
<?php $number = 100; $len = strlen($number); for($i=0;$i<$len;$i++) { echo printAlphabet(substr($number,$i,1)); } function printAlphabet($pos) { $letter = chr($pos+65); return $letter; } ?>
Shijin Trshijin tr
7.27810 Huy hiệu vàng48 Huy hiệu bạc117 Huy hiệu đồng26 gold badges73 silver badges88 bronze badges
Điều này có thể làm việc cho bạn:Apr 24, 2013 at 13:37
Bản demo trực tiếp: //ideone.com/3xqoz7
<?php function chartonumber($char) { return ord(strtolower($char)) - 96; } echo chartonumber('A')."\n"; echo chartonumber('b')."\n"; echo chartonumber('E')."\n"; ?>Anubhavaanubhava
1 2 5736K62 Huy hiệu vàng534 Huy hiệu bạc614 Huy hiệu đồng
Luc m
16.1K26 Huy hiệu vàng73 Huy hiệu bạc88 Huy hiệu đồng
Đã trả lời ngày 24 tháng 4 năm 2013 lúc 13:37Apr 24, 2013 at 13:22
Nếu tôi hiểu chính xác những gì bạn muốn làm, là có một chức năng trả về vị trí của một chữ cái trong bảng chữ cái, bạn có thể làm điều đó bằng cách này:Thanasis Pap
Điều này sẽ in:2 gold badges16 silver badges19 bronze badges
Đó là vị trí của các chữ A, B và E tương ứng.
private function getCoordinates($row, $col){ $letter = $this->getLetter($col); return $letter.$row; } private function getLetter($col){ // 64+1 = 65 ==>> "A" $letter = ''; if ($col<=26){ $letter = chr(64+$col); } else { $newCol = intdiv($col, 26); $resCol = ($col % 26); $letter = $this->getLetter($newCol).chr(64+$resCol); } return $letter; } TEST: la letra para fila:7 y columna:1 es : A7 la letra para fila:7 y columna:26 es : Z7 la letra para fila:7 y columna:27 es : AA7 la letra para fila:7 y columna:23455756 es : AYHMVL7
Cách thức hoạt động: - Nó đảm bảo làm cho chữ thường. - Nó chuyển đổi nó thành một ascii int. - Trừ 96 ký tự bảng ASCII trước đó.Feb 18, 2019 at 18:19
<?php $stack = array("A", "B"); array_push($stack, "C", "D", "E", "F", "G", "H","I","J"); print_r($stack); ?>
Chúc vui vẻ :)Apr 24, 2013 at 13:21