0

因此,当我正在使用下拉菜单来选择人们想要选择的样式时,我收到了这个错误:

注意:未定义的偏移量:1 in ...

编码:

<?php
$dirs=array_filter(glob('../styles/*'), 'is_dir');
$count=count($dirs);
$i = $count;
while($i>0){
    echo substr($dirs[$i], 10);
    $i=$i-1;
}
?>

我希望有人知道如何修复错误,非常感谢!

4

1 回答 1

1

这是因为该is_dir函数从数组中删除不是目录的项目。
钥匙不会动

您可以使用GLOB_ONLYDIR标志而不是array_filter

<?php
  $dirs   = glob( '../styles/*', GLOB_ONLYDIR );
  $count  = count( $dirs );
  $i      = ( $count - 1 ); // note: you must substract 1 from the total

  while( $i >= 0 ) {
    echo substr( $dirs[$i], 10 ); // i assumes that you want the first 10 chars, if yes use substr( $dirs[$i], 0, 10 )
    $i--;
  }

  /** With FOREACH LOOP **/
  $dirs = glob( '../styles/*', GLOB_ONLYDIR );
  $dirs = array_reverse( $dirs );

  foreach( $dirs as $dir ) {
    echo substr( $dir, 10 );
  }
?>
于 2014-04-12T17:40:30.060 回答