09/10/2018, 23:56

cho em hỏi chương trình này sai ở đâu?

em có chương trình này
PHP Code:
<?php
    
function ham($a)
    {
        for(
$i=0;$i<10;$i++)
        {
            
$a***91;$i***93;=1;
            echo 
$a***91;$i***93;;
        }

    }
?>
nhưng không hiểu sao khi chạy nó trắng trơn các bác giải thích hộ em tí a. Thanks
(mong các bác đừng cho em là vớ vẩn tại em học bằng cách xem code nên nhiều chỗ khó hiểu đành tự test vậy)
pcdinh viết 02:08 ngày 10/10/2018
Trắng là vì chưa gọi hàm, mới khai báo thôi
effort viết 02:01 ngày 10/10/2018
vậy bác cho em hỏi trong trường hợp này thì gọi thế nào cho nó không báo lỗi đây? em thấy function trong php quả thật rất rối và không có quy cách cho việc truyền tham số như những ngôn ngữ khác nên gây nhiều lúng túng.
pcdinh viết 02:12 ngày 10/10/2018
Bạn cảm thấy rắc rối ở điểm nào?
effort viết 02:10 ngày 10/10/2018
Có lẽ tại em đã quen với những cú pháp trặt trẽ nên khi mới tiếp súc với một ngôn ngữ sử dụng biến (cứ tạm gọi là linh hoạt đi) nên em tỏ ra bối rối hơn nữa tài liệu thì thấy có nhiều nhưng đọc thì không được khái quát lắm. Em đọc source chương trình thì thấy mỗi programer viết một kiểu hix! chắc học được thằng này chắc tâm thần mất.
TheHeTre viết 02:12 ngày 10/10/2018
Khó tin quá vì thông thường đang chơi bời lêu lổng (khai báo linh hoạt) thì khi bị giam cầm (chặt chẽ) mới thấy bức bối chứ làm gì có trường hợp ngược lại.

Bản thân cái hàm này có nhiều cái không ổn lắm nên cũng không nên coi làm ví dụ:
PHP Code:
<?php
function ham($a)
{
for(
$i=0;$i<10;$i++)
{
$a***91;$i***93;=1;//Cho nay gan bang 1 het de lam gi?
echo $a***91;$i***93;;
}

}
?>
Để ý thấy $a[$i] = 1; hết nên sau khi gọi hàm nó viết toàn ra số 1. Hơn nữa giá trị của $i cố định rồi nên cái hàm này chẳng có ý nghĩa gì với tham số $a truyền vào. Viết như thế này cũng được:

PHP Code:
<?php
function ham()
{
for(
$i=0;$i<10;$i++)
{
$a***91;$i***93;=1;
echo 
$a***91;$i***93;;
}

}
?>
Sửa chút hàm này để các bạn tham khảo:
PHP Code:
<?php
function ham($c)
{
for(
$i=0;$i<=$c;$i++)
{
$a***91;$i***93;=$i;//Doi 1 bang $i
echo $a***91;$i***93;;
}

}
ham(7);
//Ket qua: 01234567
?>
effort viết 02:08 ngày 10/10/2018
em có chương trình này
Quote:
<?php
function ham($a)
{
for($i=0;$i<10;$i++)
{
$a[$i]=1;
echo $a[$i];
}

}
?>
nhưng không hiểu sao khi chạy nó trắng trơn các bác giải thích hộ em tí a. Thanks
(mong các bác đừng cho em là vớ vẩn tại em học bằng cách xem code nên nhiều chỗ khó hiểu đành tự test vậy)
chương trình nguồn nó liên quan đến nhiều hàm khác nhau và dài nên em không post lên đây được bác thông cảm em chỉ lấy một cái ví dụ điển hình để test thôi
Khó tin quá vì thông thường đang chơi bời lêu lổng (khai báo linh hoạt) thì khi bị giam cầm (chặt chẽ) mới thấy bức bối
Bác không bao giờ quản lí được một cái gì nếu bác không đặt ra các quy tắc!
TheHeTre viết 02:09 ngày 10/10/2018
Được gửi bởi effort
Bác không bao giờ quản lí được một cái gì nếu bác không đặt ra các quy tắc!
Quản lý về thứ gì cơ!? PHP đưa cho bạn nhiều option, bạn có thể nhớ 1 cái làm nguyên tắc nếu không muốn tận dụng hết sự mềm dẻo của nó trong khi code.
effort viết 02:01 ngày 10/10/2018
<?php
function ham($c)
{
for($i=0;$i<=c;$i++)
{
$a[$i]=i;//Doi 1 bang i
echo $a[$i];
}

}
ham(7);
//Ket qua: 01234567
?>
Em thấy chương trình này có chạy đâu ?
PHP đưa cho bạn nhiều option, bạn có thể nhớ 1 cái làm nguyên tắc nếu không muốn tận dụng hết sự mềm dẻo của nó trong khi code
thì chính vậy nên em mới cảm thấy học nó khó khăn? cách học tốt nhất là viết nhiều chương trình rồi test đúng không anh?
Mà muốn post code như của anh thì phải làm sao vậy? thanks
mr47 viết 02:11 ngày 10/10/2018
Bác chưa thấy gì vì bác mới chỉ khai báo.

Nói nôm na là, bác chế ra một chiếc xe máy, đổ xăng cho nó. Nhưng nó ko chạy bởi vì bác hãy còn đứng dưới đất, chưa trèo lên xe rồ ga.

Muốn nó chạy thì bác hãy gọi hàm đó.
Ví dụ:

ham(array());
Bài liên quan
0