我在循环访问数组时遇到问题,每次只获取一个值。我想只灰化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');
});
答案 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,但这取决于你。