一般來說,看到有->的用法都是這樣的形式物件->屬性或方法,如:$a=new b();$a->c;那麼php中的“->”用法有哪些呢?下面小編給大家整理了php中的'“->”用法,供大家參閱。
mysql_fetch_object() 和 mysql_fetch_array() 類似,只有一點區別 - 返回一個物件而不是陣列。間接地也意味著只能通過欄位名來訪問陣列,而不是偏移量(數字不是合法的屬性名)。
echo $row->field;
/* this is invalid */
echo $row->0;?> 手冊裡有這個例子:
mysql_connect("hostname", "user", "password");
mysql_select_db("mydb");
$result = mysql_query("select * from mytable");
while ($row = mysql_fetch_object($result)) {
echo $row->user_id;
echo $row->fullname;
}
mysql_free_result($result);
?>
->簡介
->運算子叫做“指向結構體成員運算子”,是C語言和C++語言的一個運算子。
一個指標當用來指向一個結構體、物件時,稱之為結構體指標或物件指標。結構體指標或物件指標中的值是所指向的結構體或物件的首地址。通過結構體指標或物件指標即可訪問該結構體或物件。
這需要用到結構體關鍵字struct和C++類關鍵字class。
結構體指標和物件指標定義的形式:
struct 結構體型別名 *指標名;//結構體指標
struct 結構體型別名 *指標名 = &一個結構體的名字;//結構體指標並賦初值
struct 結構體型別名 *指標名 = new struct 結構體型別名;//結構體指標並用new申請記憶體
struct 結構體型別名 *指標名 =(struct 結構體型別名 *)malloc(sizeof(struct 結構體型別名))//結構體指標並用malloc申請記憶體 使用應包含標頭檔案stdlib.h
//物件指標的定義方法略同。
優先順序:1
這個運算子在連結串列中很有用。
->用法例項
#include
#include
using namespace std;
class C
{
public:
int num;
string name;
};
int main(void)
{
C obj;
C *p = &obj;
p->num = 5;
p->name = "Tony";
cout << p->num << p->name << endl;
return 0;
}
程式輸出:
5Tony
2.
#include
#include
using namespace std;
class C
{
public:
int num;
string name;
};
void changevalue(C *t,int num,string name)
{
t->num=num;
t->name=name;
}
int main(void)
{
C obj;
changevalue(&obj,5,"Tony");
cout << << << endl;
return 0;
}
程式輸出:5Tony
不過在定義全域性函式的時候最好傳入引用而不是指標,這樣在呼叫物件時和定義函式不會出錯。