echo '<h3>2.变量类型与转换</h3>'; echo '<hr color="green">';
//Scalar: 정수, 부동 소수점, 문자열 및 부울을 포함한 단일 값 변수
$age = 30; //1整型 integer $salary = 1234.56; //2.浮点 float $name = 'peter'; //3 字符串 $isMarried = true; //4. 布尔型,true真,false假
//Scalar 출력 echo, print 또는 var_dump()는 유형과 값을 볼 수 있습니다.
echo $name.'的年龄是:'.$age.',工资是:'.$salary.',是否已婚:'.$isMarried; echo '<br>'; print $name; print '<br>'; var_dump($name); echo '<hr color="red">';
//복합 유형: Multi 배열 및 객체를 포함한 값 변수
$books = ['php','mysql','html','css','javascript']; //数组 $student = new stdClass(); //创建空对象$student $student->name = '王二小'; //添加属性name $student->course = 'php'; //添加属性course $student->grade = 80; //添加属性grade
//복합 변수 출력: print_r() 또는 var_dump()
echo '<pre class="brush:php;toolbar:false">'; //格式化输出结果 print_r($books); print_r($student); var_dump($books); var_dump($student); echo '<hr color="red">';
//특수 유형: 리소스 유형, null
$file = fopen('demo.php','r') or die('打开失败'); echo fread($file, filesize('demo.php')); fclose($file);
$price = null;
echo '$ 가격은 '.$price;
/**
* 변수 유형 쿼리, 설정 및 감지
* 1. 유형 쿼리:
* gettype($var)
* 2. 유형 감지:
* 2.1: is_integer(),
* 2.2: is_float( ),
* 2.3: is_string(),
* 2.4: is_bool(),
* 2.5: is_array(),
* 2.6: is_object(),
* 2.7: is_ null(),
* 2.8: is_resource(),
* 2.9: is_numeric()...
* 3. 유형 변환:
* 3.1: 강제 변환: (int)$val, (string)$val...
* 3.2: 임시 변환(값 변환 유형은 변경되지 않음): intval(), floatval(), strval(), val은 value
* 3.3: 영구 변환: settype($var, 유형 식별자)
*/
$price = 186.79; echo gettype($price); //float/double浮点型,float和double同义 echo '<hr>'; echo (int)$price; //强制转为integer,186 echo '<hr>'; echo $price; //查看原始数据,仍是浮点型,并无变化 echo '<hr>'; echo gettype($price); //原始类型仍为double,并未发生变化 echo '<hr>'; echo intval($price); //临时将值转为整型,输出:186 echo '<hr>'; echo $price; //输出原值,仍为186.79,原值并未发生变化 echo '<hr>'; settype($price,'integer'); //永久转为integer,返回布尔值 echo $price; //查看值:186 echo '<hr>'; echo gettype($price); //类型为integer echo '<hr>'; echo is_integer($price)? 'Integer' : 'Double'; //Integer整型 echo '<hr>'; //is_numeric():判断是否是数字或数字型字符串 var_dump(is_numeric(100)); var_dump(is_numeric('200')); var_dump(is_numeric('200php'));