※ 引述《pm2001 (做個盾牌眼球兵吧)》之銘言:
: 假設我的class含的資料有三個
: 'name','tel','addr'
: 存成陣列
: 現在我想要做的是name不要有重複
: 目前想到的方式就是每放一組資料進去的時候
: 用迴圈下去比對name看有沒有重複
: 想問一下有比較簡單或更有效率的寫法嗎? thx
: class user
: {
: var $name = '';
: var $tel = '';
: var $addr = '';
: }
: user user1,user2,user3;
: $user1->name='a';
: $user2->name='b';
: $user3->name='a';
: $userarray = array();
: $userarray[]=$user1;
: $userarray[]=$user2;
: 假設這樣
: 那array_key_exists參數要怎麼設定我才能知道
: $user3->name已經存在$userarray裡面所有元素裡的name?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.176.11
那資料重覆的部份就不管他嗎?
如果 是 的話
把 name 當成 array 的 key 就可以了。
直接array覆蓋,
不過這種做法會洗掉 相同名稱的資料,
name = 123
tel = 456
addr = 789
id=1
name = 123
tel = 789
addr = 456
id=2
這兩筆資料會留下id = 2這筆
array如下:
$userarray[$name]['name'] = $name;
$userarray[$name]['tel'] = $tel;
$userarray[$name]['addr'] = $addr;
當然也可以做一些控制
怎麼做可以依您的想來改