Follow us on...
Follow us on Twitter Follow us on Facebook Watch us on YouTube

Flashsale Mua Sắm Trực Tuyến - BlackFriday

Cộng đồng công nghệ mới của Vn-Zoom

Cài đặt thảo luận về Windows 10 ở Vn-Zoom
Khuyến Mại FlashSale Cấm Up Ảnh đóng dấu forum khác

Vn-Zoom phiên bản beta

Kích hoạt Windows , Office miễn phí









kết quả từ 1 tới 7 trên 7
Vn-Zoom Việt Nam Phiên bản Beta

  1. #1
    michaelanhvu's Avatar
    michaelanhvu vẫn chưa có mặt trong diễn đàn Búa Đá Đôi
    Tham gia
    Apr 2009
    Bài
    76
    Cảm ơn
    33
    Điểm
    7/4 bài viết

    Default Tính tổng các số trích xuất từ mảng?

    $chuoiso = $_POST["dayso"];

    $mangso = explode(",",$chuoiso);

    $demphantutrongmang = count($mangso);

    for ($i=0; $i<$demphantutrongmang; $i++)
    {
    //echo $i;
    $tong = $tong + $mangso[$i];
    }

    Bài này tính tổng các số do người dùng nhập vào, mỗi số nhập vào cách nhau dấu ","
    Có một chổ mình không hiểu, ai giỏi chỉ dùm.
    1. Khi xuất "print_r($demphantutrongmang)"
    xuất "Array ( [0]=> 1 [1]=>2 [2]=>3...)
    2. Khi xuất "echo $i trong vòng lặp
    xuất "01234....
    Cho hỏi:
    Biến $i trong vòng lặp có tác dụng gì?
    $i=0 (Là giá trị khởi tạo, sao không cho nó bằng số khác mà là số 0)
    $i<$demsophantutrongmang (Là giới hạn của vòng lặp, được tính thế nào, bé hơn so với phần từ trong mảng hay là bé hơn so với các khóa "hay là chỉ số" của của mảng vậy )

    Cuối cùng $mangso[$i] này dùng để làm gì??
    Lúc xuất $mangso[$i] nó hiện ra các khóa của phần tử trong mảng.
    Ai giải thích dùm cái..
    THANKS.





  2. Cách mạng mua sắm giảm giá cực sốcMưa Sale Băng giảm giá cực tốt *** Bủng Nổ Cơn lốc công nghệ
  3. #2
    anh_saker's Avatar
    anh_saker vẫn chưa có mặt trong diễn đàn Rìu Chiến Bạc
    Tham gia
    Sep 2009
    Đến từ
    Hà Nội
    Bài
    2.956
    Cảm ơn
    1.137
    Điểm
    1.269/913 bài viết

    Default

    Mình giải thích nôm na như sau: Bài này nhập vào 1 dãy số dùng dấu , để phân cách. ( Hàm explode để chuyển string sang dạng mảng. )
    Hàm count để đếm số phần tử của mảng. Sau đó ta dùng lệnh for để chạy lặp và tính tổng mảng $mangso đó.
    Biến $i sẽ chạy từ 0 đến số phần tử của mảng và tính ra kết quả. $i++ ở đây có nghĩa sau mỗi lần lặp nó sẽ cộng thêm 1 vào biến $i đó.
    Với mảng ta có thể viết $mang = array ('a','b','c',...) Hay $mang[0]; $mang[1], ... vậy cái $mang[$i] chính là phần tử của mảng mà chứa biến $i. ( $i mang giá trị từ 0 đến số phần tử của mảng ).



  4. Có 1 thành viên cảm ơn anh_saker cho bài viết này:
    michaelanhvu (01-12-2011)

  5. #3
    Tung_Huynh's Avatar
    Tung_Huynh vẫn chưa có mặt trong diễn đàn Cống hiến cho [V-Z]
    Tham gia
    Jul 2009
    Đến từ
    Thái Nguyên
    Bài
    6.747
    Cảm ơn
    1.540
    Điểm
    4.184/2.783 bài viết

    Default

    1. Khi xuất "print_r($demphantutrongmang)"
    xuất "Array ( [0]=> 1 [1]=>2 [2]=>3...)
    2. Khi xuất "echo $i trong vòng lặp
    xuất "01234....
    Cái này bận cần phân biệt được print_r và echo
    echo là hiển thị ra giá trị của biến, giả sử $i=2 thì echo $i ra số 2
    print_r là hiển thị ra thông tin của biến, giả sử $mangso là 1 mảng, bạn muốn dùng 1 lệnh xem luôn được toàn bộ key trong mảng và giá trị tương ứng thì chỉ cần dùng print_r. Cái này thường để cho người lập trình sử dụng thôi, chứ để cho người dùng xem thì phải chạy vòng lặp kèm echo

    thế nên khi bạn chạy for và echo $i thì nó sẽ hiện ra lần lượt các giá trị của $i qua các vòng. Nó hiện liền nhau vì không có dấu cách ở echo.
    Nó chỉ hiện giá trị vì echo là hiện giá trị của biến

    Còn dùng print_r thì nó sẽ hiện đúng theo cấu trúc của biến


    Biến $i trong vòng lặp có tác dụng gì?
    đếm số vòng lặp để biết khi nào kết thúc, nếu không có biến đếm thì nó chạy vô tận
    Ngoài ra nó còn là chỉ số của phần tử trong mảng

    $i=0 (Là giá trị khởi tạo, sao không cho nó bằng số khác mà là số 0)
    vì mảng $mangso trên bạn để key mặc định, cho nó tự tạo key
    nên key nó sẽ mặc định bằng số và bắt đầu từ 0 trở đi

    $i<$demsophantutrongmang (Là giới hạn của vòng lặp, được tính thế nào, bé hơn so với phần từ trong mảng hay là bé hơn so với các khóa "hay là chỉ số" của của mảng vậy )
    $demphantutrongmang = count($mangso);
    tổng số phần tử có trong mảng
    ví dụ 1 mảng có các phần tử
    7 2 8 1 9
    thì mảng này có 5 phần tử -> $demphantutrongmang = 5;
    key mặc định tương ứng sẽ là
    [0]=>7
    [1]=>2
    [2]=>8
    [3]=>1
    [4]=>9

    Các chỉ số (key) chạy từ 0 đến 4 (4<5; 4=5-1; vì chỉ số bắt đầu từ 0)
    thế nên khi chạy for thì chỉ cần chạy từ 0 đến 4 là được vì 0->4 đủ 5 phần tử đúng theo key


    Cuối cùng $mangso[$i] này dùng để làm gì??
    Cái này thì bạn xem mục đích bài toán là gì, mảng này cần lưu cái j`
    Và nếu bạn bỏ cái mảng này đi thì sẽ có vấn đề gì đối với yêu cầu bài toán

    Lúc xuất $mangso[$i] nó hiện ra các khóa của phần tử trong mảng.
    Do bạn dùng print_r để xuất mảng



  6. Có 1 thành viên cảm ơn Tung_Huynh cho bài viết này:
    michaelanhvu (01-12-2011)

  7. #4
    michaelanhvu's Avatar
    michaelanhvu vẫn chưa có mặt trong diễn đàn Búa Đá Đôi
    Tham gia
    Apr 2009
    Bài
    76
    Cảm ơn
    33
    Điểm
    7/4 bài viết

    Default

    Thanks 2 bạn nhiệt tình giúp đỡ. Mới mày mò cái này nên gà mờ...



  8. #5
    thanhtrixx's Avatar
    thanhtrixx vẫn chưa có mặt trong diễn đàn Búa Đá
    Tham gia
    Dec 2007
    Đến từ
    Di An, Vietnam
    Bài
    62
    Cảm ơn
    48
    Điểm
    4/4 bài viết

    Default

    bạn nào giúp mình dùng hàm date để lấy ngày dc không.



  9. #6
    Tung_Huynh's Avatar
    Tung_Huynh vẫn chưa có mặt trong diễn đàn Cống hiến cho [V-Z]
    Tham gia
    Jul 2009
    Đến từ
    Thái Nguyên
    Bài
    6.747
    Cảm ơn
    1.540
    Điểm
    4.184/2.783 bài viết

    Default

    Trích thanhtrixx View Post
    bạn nào giúp mình dùng hàm date để lấy ngày dc không.
    echo date();



  10. #7
    anh_saker's Avatar
    anh_saker vẫn chưa có mặt trong diễn đàn Rìu Chiến Bạc
    Tham gia
    Sep 2009
    Đến từ
    Hà Nội
    Bài
    2.956
    Cảm ơn
    1.137
    Điểm
    1.269/913 bài viết

    Default

    Trích thanhtrixx View Post
    bạn nào giúp mình dùng hàm date để lấy ngày dc không.
    date( 'd/m/Y', time() );




 

 
Cách mạng mua sắm giảm giá cực sốcMưa Sale Băng giảm giá cực tốt *** Bủng Nổ Cơn lốc công nghệ


Quyền sử dụng

  • Bạn không thể gửi chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi file đính kèm
  • Bạn không thể tự sửa bài viết của mình
  •