Open In App

How to take user input for two dimensional (2D) array in PHP ?

There are two methods to take user input in PHP in two dimensional (2D) array.

Approach 1: 



Example 1: Below example illustrate how to input user data for 2D-array using the Form POST method.




<?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>";
    }
}
?>

Output: 



Approach 2: 

Example: Below example illustrates how to input user data for a 2D array using fopen() function. 




<?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";
}
 
?>

Output: 

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


Article Tags :