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