10/10/2018, 11:16

Tìm ký tự trong chuỗi và in ra

Mình có một vấn đề cần hỏi các bạn.Mình có 1 loạt dãy số là các chuỗi :
56
904
4742
8346
6813
2948
90236
97506
05296
00457
77300
12371
26469
48334
36497
01457
55276
663772
Giờ yêu cầu làm sao tìm trong các chuỗi trên các ký tự tương ứng với 0,1,2,3....9 rồi xuất ra ở các ô tương ứng với các số từ 0 -> 9.
Nếu chuỗi nào có từ 3 ký tự trở lên thì lấy 3 ký tự cuối,còn nếu chuỗi nào chỉ có 2 ký tự thì lấy tất cả. vd: chuỗi 77300 có số 0 thì lấy 300 đưa vào ô số 0, còn chuỗi 56 có 2 ký tự thì lấy 56 đưa vào ô số 6.Tương tự vậy cho các số còn lại.

Các bạn giúp mình nhé.Cảm ơn!
xx3004 viết 13:18 ngày 10/10/2018
Bạn nói rõ câu hỏi và ngôn ngữ sử dụng dc hum? Nếu bạn ko diễn tả kỹ ko ai hiểu bạn cần gì cả @@! [x]
lodenvutru viết 13:25 ngày 10/10/2018
hi bạn!

ngôn ngữ mình viết là php.Bây giờ mình tạo ra 1 bảng hàng ngang gồm từ số 0 đến số 9.

Giờ mình làm cách nào mà select dữ liệu ở các chuỗi ký tự trên mà để lấy được tương ứng với số trong bảng hàng ngang từ 0---> 9 đó.(Mỗi chuỗi là 1 biến trong csdl)
vd:

56
904
4742
8346
6813
2948
90236
97506
05296
00457
77300
12371
26469
48334
36497
01457
55276
663772
Chuỗi 77300 có số 0 thì lấy 300 đưa vào ô số 0, còn chuỗi 05296 thì lấy 296 đưa vào ô số 6, chuỗi 12371 thì lấy 371 đưa vào ô số 1.Tương tự vậy cho các số còn lại.
Babywolf viết 13:21 ngày 10/10/2018
Không thể viết chính xác được nhưng bạn có thể tham khảo đoạn code sau:

Code:
...
$arrayCells = array();
while($strNumber = mysql_fetch_row($datasetResult)) {
	if(strlen($strNumber) > 3) {
		$strNumber = substr($strNumber, strlen($strNumber)-3);
	}
	
	$lastDigit = substr($strNumber, strlen($strNumber)-1);
	
	$arrayCells[$lastDigit][] = $strNumber;
}
...
Vì chưa rõ là mỗi số sẽ được đưa vào một cell hay tất cả các số có số 0 cuối vào 1 cells cách nhau bởi dấu phẩy, nói chung là thuật toán đại loại tương tự vậy.
lodenvutru viết 13:19 ngày 10/10/2018
hi ban!

Mình muốn tất cả chuỗi có số 0 đều đưa vào 1 cell, cách nhau bằng xuống dòng.de minh thử đoạn code bạn đưa xem.thanks
Babywolf viết 13:32 ngày 10/10/2018
Vậy thì sau đó bạn chỉ cần chạy vòng lặp foreach hoặc for cũng được rồi implode các phần tử của $arrayCells cách nhau bởi xuống dòng (\n hoặc <br />).
Bài liên quan
0