Company logo
  • Empleos
  • Bootcamp
  • Acerca de nosotros
  • Para profesionales
    • Inicio
    • Empleos
    • Cursos y retos
    • Preguntas
    • Profesores
    • Bootcamp
  • Para empresas
    • Inicio
    • Nuestro proceso
    • Planes
    • Pruebas
    • Nómina
    • Blog
    • Calculadora

0

58
Vistas
Insert array into an json encoded array in PHP

I have function retIKey(..):

function retIKey($text, $callback) {
    return json_encode([
        'inline_keyboard'=>[
            [
                ['text'=>"$text", 'callback_data'=>"$callback"]
            ]
        ],
    ]);
}

I have some information that I should add to this array. I want to add ['text'=>"sql1", 'callback_data'=>"sql1"] into the array using for loop. For example, the result should be like this after the for loop:

function retIKey($text, $callback) {
    return json_encode([
        'inline_keyboard'=>[
            [
                ['text'=>"$text", 'callback_data'=>"$callback"], ['text'=>"sql1", 'callback_data'=>"sql2"]
            ],
[
                ['text'=>"sql2", 'callback_data'=>"sal2"]
            ]
        ],
    ]);
}

What should I do? How can I do this?

8 months ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Your function return the array json encoded. So to add values to the array outside of the function afterwards, you have to decode the array first. After adding the values, you can encode again if needed.

It works like this:

function retIKey($text, $callback)
{
    return json_encode([
        'inline_keyboard' => [
            [
                'text' => "$text",
                'callback_data' => "$callback"
            ]
        ]
    ]);
}

$jsonArray = retIKey('sql1', 'sql1');

$array = json_decode($jsonArray, true);
$array['inline_keyboard'][] = [
    'text' => 'sql2',
    'callback_data' => 'sql2'
];

$array now looks like:

array (size=1)
  'inline_keyboard' => 
    array (size=2)
      0 => 
        array (size=2)
          'text' => string 'sql1' (length=4)
          'callback_data' => string 'sql1' (length=4)
      1 => 
        array (size=2)
          'text' => string 'sql2' (length=4)
          'callback_data' => string 'sql2' (length=4)

If needed, you can encode the array again afterwards with:

$jsonArray = json_encode($array);
8 months ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar empleo Planes Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2023 PeakU Inc. All Rights Reserved.