Значения PHP Array - мне нужно знать, если они определенно пусты - PullRequest
0 голосов
/ 12 января 2011

Вот мой пример массива $ postcodeSuppliers:

Array
(
    [0] => AB123
    [postcode] => AB123
    [1] => TEST
    [supplier_1] => TEST
    [2] =>  
    [supplier_2] =>  
    [3] =>  
    [supplier_3] =>  
)

Я пытался подтвердить, является ли поставщик пустым.Вот код, который я использовал для этого:

<code>function generateQuoteSuppliers($postcodeSuppliers) {

    $quoteSupplier = array("supplier_1", "supplier_2", "supplier_3");
    //print("<pre>");
    //print_r($postcodeSuppliers);
    //print("
"); для ($ i = 1; $ i <4; $ i ++) {$ supplier = $ postcodeSuppliers ['supplier_'. $ I. '']; // if ($ supplier ==' ') // if (! isset ($ supplier)) if (empty ($ supplier)) {// Здесь добавляется фальшивый поставщик' FAKE ', если любой из 3поставщики не содержат даты. echo "NO SUPPLIER"; $ quoteSupplier ['supplier_'. $ i. ''] = array ('supplier' => 'FAKE', 'price' => 0);} else {$ quoteSupplier ['поставщик_ '. $ i.' '] = массив (' поставщик '=> $ postcodeSuppliers [' поставщик_ '. $ i.' '],' цена '=> 0);}} return $ quoteSupplier;}

Ни один из методов, которые я использовал, чтобы проверить, является ли значение пустым, работает. Я получаю это:

Array
(
    [0] => supplier_1
    [1] => supplier_2
    [2] => supplier_3
    [supplier_1] => Array
        (
            [supplier] => TEST
            [price] => 0
        )

    [supplier_2] => Array
        (
            [supplier] =>  
            [price] => 0
        )

    [supplier_3] => Array
        (
            [supplier] =>  
            [price] => 0
        )

)

Когда я ожидаю этого:

Array
(
    [0] => supplier_1
    [1] => supplier_2
    [2] => supplier_3
    [supplier_1] => Array
        (
            [supplier] => TEST
            [price] => 0
        )

    [supplier_2] => Array
        (
            [supplier] => FAKE
            [price] => 0
        )

    [supplier_3] => Array
        (
            [supplier] => FAKE 
            [price] => 0
        )

)

Может кто-нибудь показать мне, где я иду не так, пожалуйста? Я полностью открыт к факту, что я ошибаюсь! Или неправильно использую мой массив.

Ответы [ 2 ]

3 голосов
/ 12 января 2011

Вы можете использовать конструктор языка isset()

1 голос
/ 12 января 2011

попробуйте использовать trim() перед передачей $supplier в empty()

...