Weten jullie hoe ik in de volgende code wanneer offset de waarde 0 heeft, ik er voor zorg dat $ph_offset de waarde 1 krijgt, en anders de waarde van offset overneemt?



if (isset($_GET['offset'])){
	$ph_offset = (int) $_GET['offset'];
}
else{
	$ph_offset = 1;
}
<?php
if (isset($_GET['offset']) && $_GET['offset'] != 0){
$ph_offset = (int) $_GET['offset'];
}
else{
$ph_offset = 1;
}
?>

[edit]
PHP begin en eind tag vergeten.
[/edit]
Of korter:

<?php

$ph_offset = (isset($_GET['offset']) && (int) $_GET['offset'] != 0) ? (int) $_GET['offset'] : 1;

?>
Liever duidelijk dan korter. Het scheelt in totaal 5(pure gok) karakters.

maar volgens mij moet het == zijn en niet !=
Nee hoor.
Als je het zowel compact als duidelijk wilt houden:
<?
if (!empty($_GET['offset'])){
$ph_offset = (int) $_GET['offset'];
}
else{
$ph_offset = 1;
}
?>

Maar nu vind ik het met een ternary wel weer duidelijker:

<?
$ph_offset = empty($_GET['offset']) ? 1 : (int)$_GET['offset'];
?>

Let op dat $ph_offset nog steeds de waarde 0 kan krijgen als $_GET['offset'] niet numeriek is!
ok, super. Dat werkt!

Bedankt,

Roy.

Reageren