如何使用循环删除数组的第一个元素

时间:2018-01-21 06:38:36

标签: php arrays loops foreach

我对 PHP 的经验很少,但我正在上一个有 PHP 评论练习的课程。其中之一是创建一个函数,该函数使用循环返回除unordered列表中第一个值之外的所有数组值。我假设有一种方法可以使用foreach循环来做到这一点,但无法弄清楚如何。这就是我所拥有的,但我觉得我很远:

<?php    
$array = array('myName' => 'Becca', 'favColor' => 'violet', 'favMovie' => 'Empire Strikes Back', 'favBook' => 'Lullaby', 'favWeb' => 'twitter.com');

$myName = $array['myName'];
$favColor = $array['favColor'];
$favMovie = $array['favMovie'];
$favBook = $array['favBook'];
$favWeb = $array['favWeb'];

echo '<h1>' . $myName . '</h1>';

function my_function() {
foreach($array == $myName){
   echo '<ul>'
   . '<li>' . $favColor . '</li>'
   . '<li>' . $favMovie . '</li>'
   . '<li>' . $favBook . '</li>'
   . '<li>' . $favWeb . '</li>'

   . '</ul>';
 }
}

my_function();
 ?>

2 个答案:

答案 0 :(得分:1)

foreach的正确语法是

foreach (array_expression as $key => $value)

而不是

foreach($array == $myName){
  

使用循环返回除数组之外的所有数组值的函数   第一个值

我不确定,除了第一个值之外你究竟是什么意思。如果您尝试从阵列中删除第一个元素。然后您可以使用 array_shift

如果您应该使用循环

$count = 0;
foreach ($array as $key => $value)
{
   if ($count!=0)
   {
     // your code
   } 
   $count++;
}

答案 1 :(得分:0)

将代码更改为以下

<?php    
      $array = array('myName' => 'Becca', 'favColor' => 'violet', 'favMovie' => 'Empire Strikes Back', 'favBook' => 'Lullaby', 'favWeb' => 'twitter.com');

$myName = $array['myName'];

echo '<h1>' . $myName . '</h1>';

 function my_function($array)
    {
       $count = 0;
       echo "<ul>";
       foreach($array as $key => $value)
       {
           if($key != "myName")
           {
               echo "<li>".$value."</li>";
           }

        }
        echo "</ul>"; 



    }    


my_function($array);