0 votes

Array_combine reste coincé lorsqu'il n'y a pas de valeur dans le premier tableau

Je utilise array_combine() mais cela affiche une erreur lorsque le premier tableau n'a pas de valeur. Comment se débarrasser de cela

MODIFIER :

Premier tableau  
Distance_Array
Array
(
    [0] => 
)

School_ID_Array
Array
(
    [0] => 
)
 et je utilise
$Coverage_ Array=array_combine($School_ID_Array,$Distance_Array);   

ce qui donne

Coverage_ Array
Array
(
    [] => 
)

je veux que dans le premier tableau, si une valeur est vide, alors la clé Coverage_ Array accepte n'importe quelle clé par défaut

3voto

Sergey Kuznetsov Points 4324

Utilisez des conditions comme ceci :

if (isset($some_var_or_array) && !empty($some_var_or_array)) {
    // du code utilisant la ou les valeur(s) de $some_var_or_array
}

MISE À JOUR

Ici la fonction ArrayCombine(), qui prend trois paramètres : deux tableaux et le troisième - le paramètre par défaut. La valeur par défaut du paramètre sera définie sur les valeurs vides ou nulles du premier tableau :

function ArrayCombine($array1, $array2, $default = 0)
{
    foreach ($array1 as $key => $value) {
        if (!isset($value) || empty($value)) {
            $array1[$key] = $default;
        }
    }
    return array_combine($array1, $array2);
}

Voici l'exemple :

$Distance_Array = array(
    1 => '',
);

$School_ID_Array = array(
    3 => 4,
);

$Coverage_Array = ArrayCombine($Distance_Array, $School_ID_Array);

var_dump($Coverage_Array);

/*
    var_dump output:
    array(1) {
        [24]=>
            int(4)
    }
*/

0voto

cletus Points 276888

array_combine()

Erreurs/Exceptions

Lance une E_WARNING si les clés et les valeurs sont vides ou si le nombre d'éléments ne correspond pas.

Il est donc nécessaire de s'assurer qu'il y a quelque chose dans le tableau ou de ne pas appeler array_combine(). Par exemple :

if (count($keys) > 0 && count($values) > 0 && count($keys) == count($values)) {
  $combined = array_combine($keys, $values);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X