Matrix 3x3 in PHP, how to show only the elements of the tips

Asked

Viewed 235 times

-1

would like to know if there is any specific condition for me to print only the elements of the matrix tip(1,5,13,17).

 <?php
        $matriz = [
                [1,3,5],//1
                [7,9,11],//0,2
                [13,15,17]//1
            ];

            for($l=0; $l<3; $l++){
                for($c=0; $c<3; $c++){
                if(condição)
        echo $matriz[$l][$c];
                }

            }

        ?>

2 answers

0

You can use the functions reset() and end(), this way a new matrix will be created with the first and last element of the main matrix. Using the foreach() you will read all the contents of the new matrix created and use the same functions to capture the first and last element of each array of the matrix.

  <?php
    $matriz = [
                [1,3,5],//1
                [7,9,11],//0,2
                [13,15,17]//1
              ];

        $matrizPrimeiroUltimo[] = reset($matriz);
        $matrizPrimeiroUltimo[] = end($matriz);

    foreach ($matrizPrimeiroUltimo as $valor) {
        $primeiroUltimo[] = reset($valor);
        $primeiroUltimo[] = end($valor);
    }

    var_dump($primeiroUltimo);

PHP documentation reset()

reset() returns the internal array pointer to the first element and returns the value of the first element of the array, or FALSE if the array is empty.

PHP end documentation()

end() advances the array internal pointer to its last element, and returns it.

PHP foreach documentation()

0

To recover the ends no need to do a for, just go straight into the positions you want.

// Primeira coluna da primeira linha
$matriz[0][0];

// Última coluna da primeira linha
$matriz[0][count($matriz[0]) - 1];

// Primeira coluna da última linha
$matriz[count($matriz) - 1][0];

// Última coluna da última linha
$matriz[count($matriz) - 1][count($matriz[count($matriz) - 1]) - 1];

// Última coluna da última linha (nesse caso, considerando que as linhas sempre serão do mesmo tamanho)
$matriz[count($matriz) - 1][count($matriz[0]) - 1];

Browser other questions tagged

You are not signed in. Login or sign up in order to post.