Exemplo n.º 1
0
<?php

require "tests.php";
require "argout.php";
check::functions(array(incp, incr, inctr, new_intp, copy_intp, delete_intp, intp_assign, intp_value, voidhandle, handle));
$ip = copy_intp(42);
check::equal(42, incp($ip), "42==incp({$ip})");
check::equal(43, intp_value($ip), "43={$ip}");
$p = copy_intp(2);
check::equal(2, incp($p), "2==incp({$p})");
check::equal(3, intp_value($p), "3=={$p}");
$r = copy_intp(7);
check::equal(7, incr($r), "7==incr({$r})");
check::equal(8, intp_value($r), "8=={$r}");
$tr = copy_intp(4);
check::equal(4, inctr($tr), "4==incr({$tr})");
check::equal(5, intp_value($tr), "5=={$tr}");
# Check the voidhandle call, first with null
unset($handle);
# FIXME: Call-time pass-by-reference has been deprecated for ages, and was
# removed in PHP 5.4.  We need to rework
#voidhandle(&$handle);
#check::resource($handle,"_p_void",'$handle is not _p_void');
#$handledata=handle($handle);
#check::equal($handledata,"Here it is","\$handledata != \"Here it is\"");
unset($handle);
voidhandle($handle);
check::isnull($handle, '$handle not null');
check::done();
Exemplo n.º 2
0
<pre>
Subj: Ternary Operator without middle part
Example: expr1 ?: expr2;
<hr />
Output:
<?php 
require_once './testUtils.php';
function incr()
{
    static $a = 0;
    return ++$a;
}
testStrict(7 ?: 8, 7, 'expr ?: expr');
testStrict(incr() ?: 7, 1, 'func() ?: expr');
?>
</pre>
Exemplo n.º 3
0
        echo "NULL";
        break;
        // outputs
    // outputs
    case 0:
        echo "zero";
        break;
    default:
        echo "other";
        break;
}
echo PHP_EOL;
//return(); // no argument error
$r = 10;
function incr(&$param)
{
    $param++;
    return $param;
    // will return the value of $param, not the reference!
}
$r1 = incr($r);
echo $r . PHP_EOL;
// 11
echo $r1 . PHP_EOL;
// 11
$r1++;
echo $r . PHP_EOL;
// 11
echo $r1 . PHP_EOL;
// 12
echo PHP_EOL;