-3

How can I display all numbers with the exception of number 3? I am still learning to use PHP, and it's been around 2 days I can't finish it.

I have made the code listed below, however, I do not know how I can make it not show number 3.

I want to display all content A, B, C, D, E, F, G. except the letter C. in Url like this www.example.com/code.php?id=1 1 for var id 1 show all text with except 3 or C

<?php
  if(isset($_GET['id'])){
  if(is_numeric($_GET['id']))
  {
    $id = $_GET['id'];

     if($id=='1') 
    {
      while( in_array(($var = range(1,7)), array(3)));
    }
    $id = $_GET['id'];

     if($id=='2') 
    {
      while( in_array(($var = range(1,7)), array(3)));
    }

//---------------------------- Content to show ---------------
if ($var == 1) {
    print 'content A';
}

if ($var == 2) {
    print 'content B';
}

if ($var == 3) {
    print 'content C';
}

if ($var == 4) {
    print 'content D';
}

if ($var == 5) {
    print 'content E';
}

if ($var == 6) {
    print 'content F';
}

if ($var == 7) {
    print 'content G';
}
}
}
?>

and show with enter like this

content A
content B
content D
content E
content F
content G

2 Answers2

1
<?php

if (isset($_GET['id'])){

    $var = range(1,7);

    $arrContent = array(
        'content A', 
        'content B', 
        'content C', 
        'content D', 
        'content E', 
        'content F', 
        'content G'
    );

    $id = (int) $_GET['id']; // Convert id to integer

    if ($_GET['id']) { // If 1
        foreach($var as $key => $value) { // Loop from 1 to 7
            if ($key == 2) { // Skip number 3 which has index 2
                continue; 
            } else{
                echo nl2br($arrContent[$key]."\n"); // Use index in $var to get content with same index
            }
        }
    }
}
bastien
  • 414
  • 7
  • 14
1

Why not use a array_filter ?

array_filter(range(1,7), function($item) { return $item !== 3; } );