我不是PHP程序员(但知道其他语言),我正在尝试理解用PHP(5.1.6)完成的网页以进行一些更改.
该页面包含以下代码(简化):
$db_hosts = array();
$sql = 'SELECT h.hostid, h.host FROM hosts h ';
$db_items = DBselect($sql);
while($db_item = DBfetch($db_items)){
$name = $db_item['host'];
$db_host = &$db_hosts[$db_item['hostid']];
}
Run Code Online (Sandbox Code Playgroud)
我想了解最后一行,$db_host = &$db_hosts[$db_item['hostid']];.
它似乎正在创建一个新变量,$db_host并在其中放置一些东西,但我不明白&$db_hosts.
我有点怀疑,因为据我所知,这$db_hosts是一个空阵列.
我发现了这个和这个,但我不太确定,因为在这些链接中,运算符是"=&",并且在代码中,运算符附加到变量"=&$ db_hosts"(它有一个空格=和&之间.
既然我试图修改它并且没有取得成功,我认为最好寻求帮助......
我想这样做:
$string = "";
$string += "lol"; //maybe =+ > tried but both not working
Run Code Online (Sandbox Code Playgroud)
但它不起作用,有人建议吗?谷歌并没有让我的生活轻松(无法搜索像=或+这样的字符)
如果我理解正确,您可以使用以下方法为数组添加值:
$myArray[] = 123;
Run Code Online (Sandbox Code Playgroud)
要么
array_push($myArray, 123);
Run Code Online (Sandbox Code Playgroud)
一个更清洁/更快,然后另一个?
基本上,我看到人们@在他们的函数调用之前使用,不是为了每个函数,而是为某些类型的扩展函数file_get_contents(),mysql_connect()等等.
是的,问题是:@在函数调用之前有什么目的?
或者换句话说,@file_get_contents()和之间有什么区别file_get_contents()?
是&&一样的"和",是||一样的PHP"或"?
我做了一些测试,看起来它们表现得一样.有什么不同吗?
如果没有,是否有任何其他PHP标志具有单词等价物,你认为它使代码更容易阅读?
在PHP 4/5中是否可以在调用时指定一个命名的可选参数,跳过你不想指定的参数(比如在python中)?
就像是:
function foo($a,$b='', $c='') {
// whatever
}
foo("hello", $c="bar"); // we want $b as the default, but specify $c
Run Code Online (Sandbox Code Playgroud)
谢谢
这个::有时令人难以置信的名字背后的故事是什么?
T_PAAMAYIM_NEKUDOTAYIM
Run Code Online (Sandbox Code Playgroud)
我主要是想知道是否
我阅读了以下Stack Overflow问题,我理解了bitwise和logical之间的区别.
但是,没有一个解释我何时应该使用按位或逻辑.
什么时候应该使用按位运算符而不是逻辑运算符,反之亦然?
在哪种情况下我需要逐位比较?
我不是在问这些差异,但是当你需要使用按位运算符时我会问这种情况.
$hideCode = $likesObj->isAlreadyLikedByUser(facebookUID()) ? 'style="display:none;"' : '';
Run Code Online (Sandbox Code Playgroud)
任何人都可以向我解释这个问号在这行代码中的作用吗?非常感谢!