PDA

View Full Version : làm sao để ghi "từng phần" dữ liệu đã nhập?



thienthan36
03-04-2005, 17:36
dùng cái này thử xem nhé
$a = v1,v2,v3,v4";
$b =explode(",",$a);
foreach($b as $v){
echo $v."\n";
}

~guest
16-01-2007, 02:08
Hi, tôi có chút vấn đề với php, mong các bạn giúp đỡ. Giả sử từ input có name=giatri của form, nhập vào dữ liệu dạng


abc,def,ghi,....,xyz

tức là các giá trị nhập vào phân biệt bởi 1 dấu phẩy (,). khi đó ta có


$giatri="abc,def,ghi,....,xyz";

bây giờ xử lý làm sao để có thể lưu vào data riêng biệt các giá trị trên, kiểu như


$giatri1=abc; $giatri2=def;......

thanks

jiSh@n
16-01-2007, 04:06
Dùng hàm explode(), tham khảo ví dụ của php nhé :

<?php
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>
Ví dụ 1 là câu trả lơi dành cho bạn lol

mrsinguyenus
16-01-2007, 08:19
đọc php manual đi, bản mới nhất đó có đầy đủ trước, bạn nên tìm những function có sẵn trong đó trước, nếu không có mới viết function thực hiện chức năng bạn cần.

~guest
16-01-2007, 13:58
Dùng hàm explode(), tham khảo ví dụ của php nhé :
[php]<?php
// Example 1
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

Ví dụ 1 là câu trả lơi dành cho bạn lol

thanks, nhưng mình ko biết trước đc giá trị nhập vào có mấy "đoạn", tức là mấy dấu phẩy, vậy làm sao để lấy đc hết mọi "đoạn" ?

Dctran
16-01-2007, 14:28
Hàm explode() là hàm tách chuỗi thành mảng theo một ký tự nào đó, cần gì phải biết có bao nhiêu dấu phẩy, dùng vòng for để duyệt mảng là xong

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);

Không nhớ hàm count() có phải là đếm số phần tử của mảng hay không?

for($i=0;$i<count($pieces);$i++)
{
echo $pieces[$i];
}

~guest
16-01-2007, 15:05
thanks, tôi làm thử rồi mà nó ko ra, bro nào có thể cho hẳn 1 cái simple code, sao cho echo hết đc giá trị nhập vào theo từng dấu phẩu ko ?

TheHeTre
22-01-2007, 16:32
Hàm explode() là hàm tách chuỗi thành mảng theo một ký tự nào đó, cần gì phải biết có bao nhiêu dấu phẩy, dùng vòng for để duyệt mảng là xong

$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);

Không nhớ hàm count() có phải là đếm số phần tử của mảng hay không?

for($i=0;$i<count($pieces);$i++)
{
echo $pieces[$i];
}

Chỉ cần thêm một chút của dctran thôi:


for($i=0;$i<count($pieces);$i++)
{
echo $pieces[$i]."<br>";
}


Vận động chút đi bạn!

terafunny
23-01-2007, 02:51
Theo tôi nên đặt cái count($pieces) vào 1 biến khác khi sử dụng với vòng lặp for. Không nên echo trực tiếp như vậy. Một mẹo nhỏ đến giờ vẫn còn giá trị ;)

Thử sửa lại như thế này xem sao:


$s_echo = '';
$my_count = count($pieces)
for($i=0;$i<$my_count;$i++)
{
$s_echo .= $pieces[$i]."<br>";
}
echo $s_echo;
Múa rìu quá mắt thợ một chút :)

trangtan1986
25-01-2007, 19:43
Muốn hiển thị ra giá trị của tất cả các phần tử trong mảng thì người ta hay dùng foreach , vi dụ với mảng $mang


foreach($mang as $value)
{
echo($value);
}