循环通过foreach数组

时间:2013-11-30 06:54:04

标签: php jquery arrays loops next

我在循环访问数组时遇到问题,每次只获取一个值。我想只灰化1个值,因为我在jquery中调用该值。我很新,很抱歉,如果这太基本了,但我已经尝试了好几天,拔掉我的头发!

$designslist = array('design1','design2','design3','design4');
$current_index = 0;
$current_id = current($designslist);
$next = $designslist[$current_index + 1];

foreach( $designslist as $value )
{
  if( $value !== $next )continue;
  $nexts =  $next;
  echo $nexts;
  $current_index++;
}

在我的HTML中

<a href="#" id="<?php echo $nexts; ?>">next</a>

使用jquery

调用id
$('#design1').on('click',function() {
  $('#web1').removeClass().addClass('big1');
});

3 个答案:

答案 0 :(得分:2)

foreach( $designslist as $value )

需要

foreach( $designslist as $i => $value )

$i是数组索引

答案 1 :(得分:0)

您可以尝试数组搜索

$tag       = array_search($value, $designslist);
$nexts     = $$designslist[$tag]; 

答案 2 :(得分:0)

好吧,你似乎正在使用这些“current_id”和“next”变量与foreach混合。

您可以使用此类foreach声明:

foreach ($designList as $key => $value) {
    echo "The key of $value is $key";
}

由于您只想返回唯一值,因此应使用“array_unique”功能。试试这个:

foreach (array_unique($designList) as $key => $value) {
    echo "The key of $value is $key";
}

我知道这与问题无关,但正如你所说的那样,你应该遵循一些PHP提示。

你在变量中混合了snake_case和camelCase。我建议使用camelCase,但这取决于你。