2012-10-10 67 views
8

Tôi xin lỗi nhưng tôi đã nghiên cứu rất nhiều về vấn đề này. Có chức năng tiêu chuẩn nào để tìm kiếm và thay thế các phần tử mảng không?Thay thế chuỗi rỗng bằng null trong mảng php

str_replace không hoạt động trong trường hợp này, bởi vì những gì tôi muốn tìm kiếm là một chuỗi rỗng '' và tôi muốn thay thế chúng với NULL giá trị

đây là mảng của tôi:

$array = (
    'first' => '', 
    'second' => '', 
); 

và tôi muốn nó trở thành:

$array = (
    'first' => NULL, 
    'second' => NULL, 
); 

Dĩ nhiên tôi có thể tạo ra một chức năng để làm điều đó, tôi muốn biết nếu có một chức năng tiêu chuẩn để làm điều đó, hoặc ít nhất là một "giải pháp đơn dòng".

+0

nếu điều này xảy ra để đi vào một db, bạn có thể mặc định một trường để null –

Trả lời

19

Tôi không nghĩ rằng có một chức năng như vậy, vì vậy hãy tạo một hình mới

$array = array(
    'first' => '', 
    'second' => '' 
); 

$array2 = array_map(function($value) { 
    return $value === "" ? NULL : $value; 
}, $array); // array_map should walk through $array 
+0

Thực hiện tốt đẹp, tôi nghĩ rằng có một chức năng để làm điều đó, nhưng có vẻ như không có một. Cảm ơn bạn đã giúp ur :) – helpse

10

Theo như tôi biết, không có chức năng tiêu chuẩn cho điều đó, nhưng bạn có thể làm điều gì đó như:

foreach ($array as $i => $value) { 
    if ($value === "") $array[$i] = null; 
} 
+0

Ya, có vẻ như không có chức năng tiêu chuẩn. Tôi có thể thực hiện giải pháp ur hoặc giải pháp của Martin. Cảm ơn bạn! – helpse

Các vấn đề liên quan