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

Pergunta

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?

Foi útil?

Solução

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
  )
);

Outras dicas

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"
)
);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top