我的自定义功能不起作用

时间:2014-11-25 08:54:15

标签: php function

我创建了一个名为empty_fields的函数,但我无法弄清楚,以使其工作..

<?php
function empty_fields($field_name)
{
    if(!empty($order[$field_name]))
    {
        $output = "<li>Indigofera - " . $order[$field_name] . "Kg</li>";
    } else { $output = null; }

    return $output;
}

以html显示

<?php empty_fields('indigofera'); ?>

2 个答案:

答案 0 :(得分:2)

更改

if(!empty($order['$field_name'])){

if(!empty($order[$field_name])){

'$ field_name'不评估任何内容,它将搜索

每次都在'$field_name'数组中键$orders,因此无效。

希望它有效。

答案 1 :(得分:1)

如果您使用$order作为全局变量,请使用:

function empty_fields($field_name)
{
    global $order;

    $output = null;
    if(!empty($order[$field_name]))
    {
        $output = "<li>Indigofera - " . $order[$field_name] . "Kg</li>";
    }

    return $output;
}

并使用它:

<?php echo empty_fields('indigofera'); ?>
编辑:OOP方式:

class Orders
{
     private $order = null;

     public function get_order()
     {
         $this->order = //....
     }

     public function empty_fields($field_name)
     {
         if(!isset($this->order) || empty($order[$field_name])) return;

         return "<li>Indigofera - " . $order[$field_name] . "Kg</li>";
     }
}

并使用它:

<?php

$orders = new Orders();
$orders->get_order();
echo $orders->empty_fields("indigofera");