Как создать функцию в PHP - PullRequest
       5

Как создать функцию в PHP

4 голосов
/ 18 августа 2011

Я пытаюсь создать функцию с именем saveorder. Это мой код:

<?php
//function foo($arg_1, $arg_2, /* ..., */ $arg_n)
function saveorder($orderid,$txnid,$date,$amount)
{
    $a_str = array( 
        "orderid"=>"175", 
        "txnid"=>"RC456456456", 
        "date"=>"54156456465", 
        "amount"=>"109$" 
    ); 

    $file = 'order.dat';

    $contents = implode("|", $a_str);

    $contents .= PHP_EOL . PHP_EOL;
    file_put_contents($file, $contents);
}
echo "function will return=".saveorder($orderid);
?>

Я думаю, что я делаю это неправильно, потому что я никогда не создавал свою собственную функцию. Тем не менее, однако, я хочу создать эту функцию, чтобы сохранить порядок в файле order.dat. Может кто-нибудь, пожалуйста, помогите мне создать эту функцию? Я очень стараюсь, но не могу его создать.

Ответы [ 2 ]

7 голосов
/ 18 августа 2011

у вас не было возврата, в остальном функция в порядке:)

function saveorder($orderid,$txnid,$date,$amount){
    $a_str = array( 
        "orderid"=>$orderid, 
        "txnid"=>$txnid, 
        "date"=>$date, 
        "amount"=>$amount 
    ); 

    $file = 'order.dat';
    $contents = implode("|", $a_str);

    $contents .= PHP_EOL;
    file_put_contents($file, $contents, FILE_APPEND);
    return $contents;
}
echo "function will return=".saveorder("175","RC456456456","54156456465","109$");

РЕДАКТИРОВАТЬ: добавлено FILE_APPEND

0 голосов
/ 18 августа 2011

На самом деле, вы не возвращали никакого значения в вашей функции, поэтому она работала правильно.

Вам нужно добавить, как показано ниже, в конце функции

<?php
function saveorder($orderid,$txnid,$date,$amount) //function foo($arg_1, $arg_2, /* ..., */ $arg_n) {
    $a_str = array(    "orderid"=>"175",    "txnid"=>"RC456456456",    "date"=>"54156456465",    "amount"=>"109$"  );
    $file = 'order.dat';
    $contents = implode("|", $a_str);
    $contents .= PHP_EOL . PHP_EOL;
    res = file_put_contents($file, $contents);
    if(res){
        return true;
    } else {
        return false;
    }
}
echo "function will return=".saveorder($orderid);
?> 
...