2010-06-11 4 views

Répondre

2

Si vous savez à quelle position il est, il suffit de faire:

$array[1] = 5; 

Sinon, la boucle à travers elle et vérifier avec === for value and type equality:

foreach($array as &$element) { //get element as a reference so we can change it 
    if($element === '') { // check for value AND type 
     $element = 5; 
    } 
} 
-2

Ce $array[1] = 5;

1

Vous pouvez utiliser array_map pour cela:

function emptyToFive($value) { 
    return empty($value) ? 5 : $value;  
} 

$arr = array_map(emptyToFive, $arr); 

PHP 5.3, vous pouvez faire:

$func = function($value) { 
    return empty($value) ? 5 : $value;  
}; 
$arr = array_map($func, $arr); 

EDIT: Si empty ne correspond pas à vos besoins, vous devriez peut-être changer la condition à $value === '' selon la suggestion de @ Felix.

+1

Je dirais que «vide» n'est pas la bonne fonction ici. Il retournera aussi true, pour '0',' '0 '' et 'FALSE' qui ne sont probablement pas des valeurs vides dans ce cas. –

+0

Vous pourriez avoir raison, je dirais que cela dépend vraiment des exigences exactes de l'OP. Je l'ai édité en. – karim79

4

version 5.3

$arr = array_map(function($n) { return !empty($n) ? $n : 5; }, $arr); 
+1

Fermeture et ternaire ... Je vous avais mis en garde deux fois si je pouvais. – Entendu

Questions connexes