php列印對象
① php對象問題,上代碼,為什麼下面變數列印出來時object 對象,但是is_object()判斷的時候卻進不去呢
的GetType()被用於獲取變數的類型。字元串類型返回,可能是以下字元串之一:整型,雙,字元串,數組,對象,未知類型
is_numeric(混合變數):/ /測試變數是不是衡量一個數字或數字字元串
is_bool():/ /測試測量是一個布爾變數沒有
is_float():測量/ /測試變數是不是一個浮點型和is_double,is_real()有相同的用法 BR /> is_int():/ /測試測量變數不是整個兒is_integer()的用法相同
IS_STRING():/ /測試測量變數不是字元串
IS_OBJECT():/ /測試測量變數不是一個對象
IS_ARRAY():測量/ /測試變數是不是
is_null一個數組():/ /測試該變數的確定是不是一茬茬的值是不大小寫敏感
② 在php中print_r能列印對象嗎
可以列印對象,不過只能列印對象的屬性,它的方法不能列印出來
補充一下,要想獲取對象的方法列表,可以用get_class_methods函數
③ php怎麼輸出對象里的一個值
要將字元串中特定子字元串輸出,需要用到正則匹配。
按照你的要求,匹配規則如下:
正則表達式:/<.*?>/g
2. 匹配message:Queued. Thank you.
正則表達式:/> Q.*./g
兩者匹配結果如下圖:
圖2
匹配的結果,然後用 php的 substr函數截取出來目標字元串就行了,正則匹配用 preg_match函數
④ php問題,為什麼列印php對象會把裡面的屬性列印出來,我的構造方法是共有的!
你用什麼列印輸出,php列印輸出有 var_mp、print、echo等
var_mp() 能列印出類型
print_r() 只能打出值
echo() 是正常輸出,不能顯示數組
需要精確調試的時候用 var_mp();一般查看的時候用 print_r();
⑤ php如何列印對象的所有屬性
使用var_mp()列印
⑥ php關於輸出對象的方法的問題
看一下,這個是不是你要的東西。
<?php
class myclass {
// constructor
var $t1='tt1'
public $t2='tt2'
protected $t3;
private $t4;
function myclass()
{
return(true);
}
// method 1
function myfunc1()
{
return(true);
}
// method 2
function myfunc2()
{
return(true);
}
}
$methods = get_class_methods('myclass');
print_r($methods);
$vars = get_class_vars('myclass');
print_r($vars);
?>
輸出結果:
Array ( [0] => myclass [1] => myfunc1 [2] => myfunc2 ) Array ( [t1] => tt1 [t2] => tt2 )
⑦ PHP echo可以輸出對象嗎
可以,如下面:
<?php
$dsn = 'mysql:dbname=oop;host=localhost;';
$user = 'admin';
$password = 'password';
try {
$pdo = new PDO($dsn, $user, $password);
}
catch (PDOException $e)
{
echo 'Connection failed: ' . $e->getMessage();
}
$result = $pdo->query("select * from be_users");
var_mp($result);
?>
輸出:
object(PDOStatement)[2]public'queryString'=>string'select * from be_users'(length=22)
問題:
輸出結果中[2]表示什麼意思?
說明對象有2個變數,包括public也包括private和protected
下面是我隨便拿了個class,輸出的結果。
object(myclass)#1 (4) {
["t1"]=>
string(3) "tt1"
["t2"]=>
string(3) "tt2"
["t3:protected"]=>
NULL
["t4:private"]=>
NULL
}
下面是測試代碼。
<?php
$a = new myclass();
var_mp($a);
class myclass {
// constructor
var $t1='tt1';
public $t2='tt2';
protected $t3;
private $t4;
function myclass()
{
return(true);
}
// method 1
function myfunc1()
{
return(true);
}
// method 2
function myfunc2()
{
return(true);
}
}
?>
⑧ Thinkphp3.2 有什麼方法列印對象
print_r( $this );var_mp( $this );雖然TP是個框架,但這不會改變它是PHP的事實,所以PHP原生的列印方法都是可以用的
⑨ php中最基本的語法格式有些不懂
為了避免誤人子弟,我反復查閱資料,給出以下回答。
echo 實際上不是一個函數,它是一個命令,所以是不需要括弧的,但是PHP支持加上括弧的寫法。
參考:http://cn.php.net/manual/zh/function.echo.php
print 與 echo 是一樣的,毫無差別。PHP官方的解釋是,echo 比 print 快一點點。
參考:http://cn.php.net/manual/zh/function.print.php
print_r 是格式化輸出,它可以列印數組和對象。你用print列印一個數組將始終輸出array,而使用print_r將能輸出整個數組的結構。
參考:http://cn.php.net/manual/zh/function.printf.php
\n是換行符的意思,輸出後文本將被換行。還有 \r (回車符)、 \t (製表符)等這些不可視的字元。
你問的第三點好像寫錯了,應該是
$arr=array(10,1,5,2=>8,5=>15,18);
=> 運算符指示數組的元素值(參考:http://apps.hi..com/share/detail/19910637)
2=>8 的意思就是第二號元素的值為8,數組中原來第二號元素的值將被取代。
最終print_r($arr)的時候
Array
(
[0] => 10
[1] => 1
[2] => 8
[5] => 15
[6] => 18
)
下標為 2 的元素值 5 被 8 取代,4 下標被 5=>15 強制跳過。
⑩ php輸出對象裡面的一個值
用echo,比如
for ($M=0;$M<10;$M++) {
echo "$M
";
}