If with parameters, you mean "keys" then you can do using array_keys
that will get the keys name, code, etc of variable $parametrosdBase
and use array_key_exists
to check if the key exists (already that you said that the values can be empty, false I suppose they can be null
too).
Example:
<?php
$parametrosdBase = array('nome' => false, 'codigo' => 83474);
$json = json_decode('{"nome": "João", "codigo": false, "foo": "hello" }', true);
$chaves = array_keys($parametrosdBase);
$error = null;
foreach ($chaves as $value) {
if (false === array_key_exists($json[$value])) {
$error = 'Parametro "' . $value . '" não encontrado';
break;
}
}
if ($error) {
echo $error;
} else {
echo 'Todos parametros da base encontrados!';
}
isset vs array_key_exists
I've changed isset
to array_key_exists
, because if it has any value with null
, then it will give false
use isset
, even if the key exists.
<?php
$search_array = array('first' => null, 'second' => 4);
// Retorna false
isset($search_array['first']);
// Retorna true
array_key_exists('first', $search_array);
What are keys in an array
Note that these parameters are generally referred to as "keys" or keys, see:
PHP:
array('nome' => 'João');
^---Isto é uma chave ^-----Isto é um valor de uma chave
Json:
{'nome': 'João'};
^---Isto é uma chave ^-----Isto é um valor de uma chave