html formu diziler boş unsurları dahil değil php diziye saklamak için nasıl

2 Cevap php

Formlardan gönderilen bir dizi depolamak null değerleri ile öğeleri saklar. Php diziye sadece olmayan boş alanları saklamak için bir yolu var mı?

$ _SESSION ['Ürün'] = $ _POST ['ürün'];

benim geçerli kod.

2 Cevap

Sen array_filter() bir göz atmalısınız. Ben aradığınız tam olarak ne olduğunu düşünüyorum.

$_SESSION['items'] = array_filter($_POST['items']);

@ Till Theis array_filter kesinlikle gitmek için yoludur, diyor gibi. Ya şöyle, doğrudan kullanabilirsiniz:

$_SESSION['items'] = array_filter($_POST['items']);

Sana not false değerlendiriyor dizinin tüm unsurlarını verecektir. I.E. Her iki NULL, 0, yanlış vb filtre edeceğiz

Sen de bu yüzden gibi, özel filtreleme oluşturmak için bir geri çağırma işlevi iletebilirsiniz:

abstract class Util {
    public static function filterNull ($value) {
        return isset($value);
    }
}

$_SESSION['items'] = array_filter($_POST['items'], array('Util', 'filterNull'));

Bu ürün dizide her öğe için Util sınıfının filterNull-yöntemini çağırır ve onlar ayarlanır if (bkz. language construct isset()), sonra çıkan dizide tutulur.