[Resolvido] Array pegar determinado valor

Bom dia Expert em PHP poderia me dar uma ajuda tenho resultado Array :

array(1) { [“metadata”]=> array(5) { [“output”]=> array(1) { [“raw”]=> string(117) "An error occurred while attempting to unsuspend “selegcoma”. The user “selegcom” is not in a suspended state. " } [“command”]=> string(13) “unsuspendacct” [“version”]=> int(1) [“reason”]=> string(2) “OK” [“result”]=> int(1) } }
quero pegar somente apenas um resultado e joga em Variável !

Desculpe…
Primeiro o Array foi criado por você, não sabe como obter o resultado?

Segundo o que é pegar o resultado e jogar numa variável?

De um:

echo "<pre>"; print_r($array); echo "</pre>";

para facilitar a visão desse seu array.

Opa caro @InfinitusWeb Haroldo! Não foi criado por mim é um resultado de um API do Whm !
Queria pegar esta mensagem e jogar em variável

Mas é um array, existem valores variados dentro dele.

de o comando que te passei e apresente aqui o resultado.

Talvez essa função possa ajudá-lo:

function loop_recursivo($array,$nivel=0,$histKey="") {
$out = '';
//$bar = $separador;
$nivel++;
  $out .= '<ul>';
  foreach($array as $key => $value) {
 if(is_array($value)) {
   $marcador = ($histKey) ? $histKey.'&rarr;' : '';
   $out .= '<li>' . $marcador .'<b>'. $key.'</b>' .loop_recursivo($value,$nivel,$marcador.$key).'</li>';
 }else{
   $out .= '<li>' . $key .': ' .$value . '</li>';
 }
  }
  $out .= '</ul>';
return $out;
}

Use assim:

$sua _variavel = loop_recursivo($seu_array);

Array ( [metadata] => Array ( [reason] => OK [output] => Array ( [raw] => An error occurred while attempting to unsuspend “selegcom”. The user “selegcom” is not in a suspended state. ) [command] => unsuspendacct [version] => 1 [result] => 1 ) )

tuse dessa forma:

echo "<pre>"; print_r($array); echo "</pre>";

Array
(
[metadata] => Array
(
[version] => 1
[output] => Array
(
[raw] => An error occurred while attempting to unsuspend “selegcom”. The user “selegcom” is not in a suspended state.

            )

        [command] => unsuspendacct
        [reason] => OK
        [result] => 1
    )

)

Então @InfinitusWeb como pego estes resultado ae separado tipo [raw] => , [reason] e colocar em uma variável

o @InfinitusWeb passou uma função lá em cima

mas tenta assim… vai ter cada item da array simples

foreach ($array as $key => $value) {
    echo "<br>Chave: $key /  Valor: $value";
}

deve funcionar :slight_smile:

retornou @jair

Chave: metadata / Valor: Array

então é array dentro de array, ai tem que usar o recursivo que o Haroldo postou

ou se quiser repete o foreach dentro dele com o novo array, algo assim:

foreach ($array as $linha)
{
    foreach($linha as $chave => $nome)
    {
        echo "<br> $chave - $nome";
    }
}

mas o ideal é o recursivo, que se tiver um outro dentro dele

Consegui pegar assim!

echo 'output: ’ . $Array[‘metadata’][‘reason’] . PHP_EOL;
echo ‘Saida’.$Array[‘output’][‘raw’]. PHP_EOL;
echo 'Resultado: ’ .$Array[‘metadata’][‘output’][‘raw’] . PHP_EOL;

Obtive o resultado esperado