Check a PHP array for empty values and fill that particular key's value with default value if empty [closed]

StackOverflow https://stackoverflow.com/questions/20495504

I have to read a PHP array for empty values. If there are any empty values for any key, I just wanted them to be filled with some default value if empty.

1. Is there any in built function to check if empty in an array and fill it up?

(OR)

2. What is the procedure to accomplish this requirement?

有帮助吗?

解决方案

array_map() can be used to apply a mapping to each array element.

$array = array(1, 0, 'foo', '', 'bar', NULL);
$default = 'DEFAULT';

var_dump(
  array_map(
    function($value) use ($default) {
      return $value ?: $default;
    },
    $array
  )
);

其他提示

There isn't a built in function which replaces empty values.

You could loop through the array, and if the value is empty, populate it.

For example

foreach($arr as &$val) {
    if(empty($val)) { $val = 'Empty'; }
}
foreach($array as $key => value){
    if(empty($value)) $array[$key] = "Some random value";
}

Try this,

$ar=array(" ","test"," ","test2");
$ar = array_replace($ar,
array_fill_keys(
    array_keys($ar, " "),
    "hi"
)
);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top