PHP中的函数构造如此$datestartend = mysql_query("SELECT * FROM booking");
$range = [];
while ($result = mysql_fetch_array($datestartend)){
$begin = new DateTime($result['tdate']);
$end = new DateTime($result['ldate']);
$interval = new DateInterval('P1D'); // 1 Day
$dateRange = new DatePeriod($begin, $interval, $end);
foreach ($dateRange as $date) {
$range[] = $date->format('d-m-Y');
}
}
echo json_encode($range);
,变量foo($bar)
作为参数。如果要将$bar
的值转换为布尔值或字符串,则需要执行以下操作:
$bar
考虑到其他函数的语法,我发现它有点奇怪。与许多其他语言相比,为什么PHP中的Type Casting以这种方式执行:
(string)$bar;
例如,。我正在寻求更好地理解语言的句法设计。
答案 0 :(得分:1)
generateGameTree g p =
| identifyWinner g p == Nothing = Node (g,p) [ ((fst x),generateGameTree (snd x) (nextPlayer p)) | x <- (findPossibleMoves p g) ]
| otherwise = "DO NOTHING"
是内部的实际数据类型。所以考虑一下这个
(string)
所有$bar = 0; //int
$foo = '0'; //string
转换都尝试从值中生成一个字符串。换句话说,它只是将数字转换为字符对应物。它本身不适用于构造,如string
array
现在,按照你的问题,对象可以有一个神奇的方法__toString()
$bar = [0];
echo (string)$bar; // E_NOTICE: array to string conversion, outputs 'Array'
当我们尝试将class Foo {
protected $bar = 'Hi';
public function __toString() {
return $this->bar;
}
}
$x = new Foo();
echo (string)$x; // outputs 'Hi'
对象转换为字符串时,它会调用魔术方法