Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

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

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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

Approach 1: 

  • Use HTML forms through PHP GET & POST method to take user input in two dimensional (2D) array.
  • First, input data into HTML forms.
  • Then use the GET or POST method of PHP to get or post those input data into a variable.
  • Finally, use that variable that holds input data and process using for loop.
  • Though it is from a two-dimensional array so, you need two indices/variables for processing in for loop.
  • Enter input one below another to state as two variables.

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

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


Output: 

Approach 2: 

  • To take user input in PHP for two dimensional (2D) by using fopen() function which helps to get user input either at runtime or by the external input file.
  • First, assign those input data to variables.
  • Finally, use those variables which hold input data and process using for loop.
  • Though it is from a two-dimensional array so, you need two indices/variables for processing in for loop.

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

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


Output: 

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


My Personal Notes arrow_drop_up
Last Updated : 28 Apr, 2023
Like Article
Save Article
Similar Reads
Related Tutorials