Diễn đàn
Chủ đề này đã bị khóa, bạn không thể sửa hay trả lời
Tác giả Nội dung
bathazar
Gửi: 13/05/05 12:53    Tách dữ liệu và lấy dữ liệu của array

Thành viên


Nhóm: Thành viên má»›i
Tham gia: 01/07/04
Bài gửi: 23/24
Nơi ở: Việt Nam

- Em có array như sau... Em tạm gọi là (1). Nó có dạng như sau

Mã lệnh
array(
[0] => 1
[1] => 3
[2] => 1
[3] => 2
[4] => 3
[5] =>1
)

- Đầu tiên em lọc được các biến array có giá trị là 1. Và loại bỏ những cái khác và array (1) của em có dạng như sau

Mã lệnh
array(
[0] => 1
[2] => 1
[5] => 1
)

- Như vậy em có được những số như 0,2,5. Sau đó, em có array (2)

Mã lệnh
Array (
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)

- Em muốn từ những số 0,2,5 em xuất ra giá trị của những biến của array 2. Hay nói đúng hơn kết quả sẽ là

Mã lệnh
136

- Nhưng em không biết làm sao cả. Anh Nam help em với !

Xem lý lịch thành viên
Hải Nam
Gửi: 13/05/05 18:23   

Cán bộ cao cấp


Nhóm: Webmaster
Tham gia: 08/05/04
Bài gửi: 833/1485
Nơi ở: Brest, Pháp

Các hàm cần biết:

count($a) => số phần tử của $a

unset($a[2]) => xoá phần tử mang chỉ số 2 của $a

Dùng 2 hàm này làm xong bước 1, bước 2 thì lặp 1 vòng for với $a nữa, với mỗi phần tử $a[$i] thì hiển thị giá trị trong mảng $b: echo $b[$a[$i]];

--
Mà nói vậy: "Trái tim anh đó
Rất chân thật chia ba phần tươi đỏ:
Anh dành riêng cho Đảng phần nhiều
Phần cho thơ, và phần để em yêu..."
Xem lý lịch thành viên Website của thành viên này
bathazar
Gửi: 13/05/05 19:39   

Thành viên


Nhóm: Thành viên má»›i
Tham gia: 01/07/04
Bài gửi: 23/24
Nơi ở: Việt Nam

- Có 2 vấn đề anh Nam à.


- Thứ nhất với hàm unset($a[2]) nó chỉ xoá đi phần tử có tên [2], tức nó sẽ cho ra kết quả như sau:

Mã lệnh

array(
[0] => 1
[1] => 3
[3] => 2
[4] => 3
[5] =>1
)

- Như vậy 1, 3, 4 không có giá trị 1 nhưng chưa bị unset. Cái này thì em có thể dùng hàm for để kiểm tra giá trị rồi unset.


- Cái em bị vướng đó là cái thứ hai. Theo như cách của anh Nam thì không ổn. For thì em biết nhưng nếu như $b[$a[$i]] thì $a[$i] = 1. Vì em chỉ lấy giá trị = 1 thôi mà. Cho nên mọi giá trị $i đều cho ra 1. Vì thế với $b[$a[$i]] thì sẽ chỉ đưa ra giá trị [1] của array B..


- Anh Nam xem lại giùm

Xem lý lịch thành viên
bathazar
Gửi: 19/05/05 20:16   

Thành viên


Nhóm: Thành viên má»›i
Tham gia: 01/07/04
Bài gửi: 23/24
Nơi ở: Việt Nam

Anh Nam đâu rùi ?


Xem lý lịch thành viên
Hải Nam
Gửi: 19/05/05 21:13   

Cán bộ cao cấp


Nhóm: Webmaster
Tham gia: 08/05/04
Bài gửi: 833/1485
Nơi ở: Brest, Pháp

Đây là vấn đề đơn giản, đọc tài liệu tra cứu của PHP là ra ngay mà. Có các hàm như array_flip(), array_keys(), hoặc lệnh foreach ($a as $k=>$v) thì $k chứa chỉ số còn $v chứa giá trị.

Hoặc thậm chí ngay từ đầu: if ($a[$i]==1) echo $array2[$i]

--
Mà nói vậy: "Trái tim anh đó
Rất chân thật chia ba phần tươi đỏ:
Anh dành riêng cho Đảng phần nhiều
Phần cho thơ, và phần để em yêu..."
Xem lý lịch thành viên Website của thành viên này
Xem bài trướcPHPXem bài kế
Chủ đề này đã bị khóa, bạn không thể sửa hay trả lời 

Bạn không có quyền gửi bài viết
Bạn không có quyền trả lời bài viết