Php 具有匹配属性的对象数组上的foreach
我有一个用于创建菜单的对象数组,每个对象都有属性id、视频id和章节id 我想为每个循环创建一个Php 具有匹配属性的对象数组上的foreach,php,arrays,object,Php,Arrays,Object,我有一个用于创建菜单的对象数组,每个对象都有属性id、视频id和章节id 我想为每个循环创建一个 foreach($menu_objects as $object WHERE $object->chapter == $variable) 有没有办法做到这一点 几乎没有办法 foreach(array_filter($menu_objects, function($o) { return $o->chapter == $variable}) as $object) 或 几条路 fo
foreach($menu_objects as $object WHERE $object->chapter == $variable)
有没有办法做到这一点 几乎没有办法
foreach(array_filter($menu_objects, function($o) { return $o->chapter == $variable}) as $object)
或
几条路
foreach(array_filter($menu_objects, function($o) { return $o->chapter == $variable}) as $object)
或
PHP不提供这样的语法,但是,您可以始终将其作为循环中的第一行使用
if
-语句:
foreach ($menu_objects as $object) {
if ($object->chapter != $variable) continue;
... process as normal ...
PHP不提供这样的语法,但是,您可以始终将其作为循环中的第一行使用
if
-语句:
foreach ($menu_objects as $object) {
if ($object->chapter != $variable) continue;
... process as normal ...
只需在循环中嵌套一个if:
foreach($menu_objects as $object){
if($object->chapter == $variable){
// do something here
}
}
只需在循环中嵌套一个if:
foreach($menu_objects as $object){
if($object->chapter == $variable){
// do something here
}
}
只需添加一个if
foreach($menu_objects as $object) {
if ($object->chapter == $variable) {
// Do Something?
}
}
只需添加一个if
foreach($menu_objects as $object) {
if ($object->chapter == $variable) {
// Do Something?
}
}
粘贴一些$menu_对象的样本数据可能最简单,只需在foreach中进行if测试。粘贴一些$menu_对象的样本数据可能最简单,只需在foreach中进行if测试。+1,我最喜欢这种样式,因为它减少了嵌套,并立即向开发人员表明,这样的项不会被处理(你不必读到
if
块的末尾就可以看到它)。到目前为止,这是最好的解决方案。简单而快速。+1,我最喜欢这种风格,因为它减少了嵌套,并且可以立即向开发人员清楚地表明这样的项目不会被处理(你不必读到if
块的末尾就可以看到它).是目前为止最好的解决方案。简单快速。