¿Cómo tomar la entrada del usuario para una array bidimensional (2D) en PHP?

Hay dos métodos para tomar la entrada del usuario en PHP en una array bidimensional (2D).
Enfoque 1: 

  • Use formularios HTML a través del método PHP GET & POST para tomar la entrada del usuario en una array bidimensional (2D).
  • Primero, ingrese datos en formularios HTML.
  • Luego use el método GET o POST de PHP para obtener o publicar esos datos de entrada en variables.
  • Finalmente, use aquellas variables que contienen datos de entrada y procese usando for loop.
  • Aunque es una array bidimensional, necesita dos índices/variables para procesar en bucle for.
  • Ingrese una entrada debajo de otra para indicar como dos variables.

Ejemplo 1: el siguiente ejemplo ilustra cómo ingresar datos de usuario para una array 2D utilizando el método Form POST.

php

<?php
 
echo "Enter n for nxn : <br>";
echo "<form method='POST'>
    Row:<input type='number' min='2'
            max='5' name='1d' value='1'/>
    Column:<input type='number' min='2'
            max='5' name='2d' value='1'/>
    <input type='submit' name='submit'
            value='Submit'/>
</form>";
 
// Submit user input data for 2D array
if (isset($_POST['submit'])) {
     
    // POST submitted data
    $dimention1 = $_POST["1d"];
     
    // POST submitted data
    $dimention2 = $_POST["2d"];
     
    echo "Entered 2d nxn: " . $dimention1
            . "x" . $dimention2 . " <br>";
    $d = [];
    $k = 0;
     
    for($row = 0; $row < $dimention1; $row++) {
        for ($col = 0; $col < $dimention2; $col++) {
            $d[$row][$col]= $k++;
        }
    }
     
    for ($row = 0; $row < $dimention1; $row++) {
        for ($col = 0; $col < $dimention2; $col++) {
            echo $d[$row][$col]." ";
        }
        echo "<br>";
    }
}
?>

Producción: 

Enfoque 2: 

  • Para tomar la entrada del usuario en php para dos dimensiones (2D) mediante el uso de la función fopen() que ayuda a obtener la entrada del usuario en tiempo de ejecución o mediante un archivo de entrada externo.
  • Primero, asigne esos datos de entrada a las variables.
  • Finalmente, use aquellas variables que contienen datos de entrada y procese usando for loop.
  • Aunque es una array bidimensional, necesita dos índices/variables para procesar en bucle for.

Ejemplo: El siguiente ejemplo ilustra cómo ingresar datos de usuario para una array 2D usando la función fopen(). 

php

<?php
 
// fopen() using standard input
$stdin = fopen('php://stdin', 'r');
?>
<?php
error_reporting(0);
echo "\n\n\nEnter row and column: \n";
 
// Right trim fgets(user input)
$dimention1 = rtrim(fgets($stdin));
 
// Right trim fgets(user input)
$dimention2 = rtrim(fgets($stdin));
 
echo "Entered row and column: " .
    $dimention1 . "x" . $dimention1 . " \n";
 
$d = [];
$k = 0;
 
for ($row = 0; $row < $dimention1; $row++) {
    for ($col = 0; $col < $dimention2; $col++) {
        $d[$row][$col]= $k++;
    }
}
 
for ($row = 0; $row < $dimention1; $row++) {
    for ($col = 0; $col < $dimention2; $col++) {
        echo $d[$row][$col]." ";
    }
    echo "\n";
}
 
?>

Producción: 

Referencia: https://www.geeksforgeeks.org/php-fopen-function-open-file-or-url/ 

Publicación traducida automáticamente

Artículo escrito por VigneshKannan3 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *