据我所知,这个foreach()语句正在打印字段" name_first'从数组中的每个项目馈送到它......
foreach ($data as $author) {
print get('name_first', $author) .
" " . get('emailaddress', $author) .
"<br/>";
if(strpos($author['emailaddress'], ">")) {
$sp->update($listName, $author['id'], array('emailaddress'=> email_from_link($author['emailaddress'])));
}
但有人可以解释一下最后的if语句是做什么的吗?这对我来说真的没有任何意义。
if(strpos($author['emailaddress'], ">")) {
$sp->update($listName, $author['id'], array('emailaddress'=> email_from_link($author['emailaddress'])));
答案 0 :(得分:4)
在第一个字符后检查字符串public function dwg_list($porject_no){
echo $porject_no;
......
}
中的字符>
。
如果$author['emailaddress']
存在,则>
数组update
,并在括号之间指定值。
答案 1 :(得分:3)
询问字符串中>
字符的位置。如果字符位于第一个字符以外的任何位置,则输入if块。
这就是我考虑草率/懒惰的编程 - 养成以同样方式处理int和booleans的习惯是个坏主意,尤其是当像strpos
这样的函数可以返回时整数0也是假:
来自the docs:
警告此函数可能返回布尔值FALSE,但也可能返回a 非布尔值,其值为FALSE。
此外,像你这样的代码会让人感到困惑,就像你的情况一样。明确地编码更好:
$index = strpos($author['emailaddress'], '>');
if(FALSE === $index) {
// Handle error
}
else if($index > 0) {
$sp->update($listName, $author['id'], array('emailaddress'=> email_from_link($author['emailaddress'])));
}
当然,它更详细,但结果更容易理解,因此更容易维护。