【发布时间】:2016-01-21 03:52:44
【问题描述】:
我是 PHP 新手,所以需要一些帮助。
我似乎已经几乎达到了我所需要的。但是,下面的代码将完全符合我的要求,即遍历每条记录并获取所有键值对。尽管如此,一旦条件达到“else”,我不想打印所有剩余的 $key $val 对。相反,我想要的是抓住下一个最关键的 => val 对并重复直到每条记录完成。
例如现在这段代码将打印出我想要的每条记录的 LIST_1、LIST_87。我希望它也只抓住下一对 $key => $val,而不是剩下的。这样我就可以将每个 $key => $val 对注入到 mySql 中的一行中。
但是现在,它给了我 LIST_1、LIST_87 和所有剩余的 $key => $val's。 它看起来像这样:
Record: 0 *************************
LIST_124 => 0.00
GF20121126194243819854000000 => Entry Lvl Lvng Area,Fire Sprinkler,Foyer,Pantry,Volume Ceiling,Walk-in Closet
LIST_125 => 161.14
LIST_122 =>
LIST_123 =>
LIST_126 => 154.18
ROOM_BR2_room_level => 1
VOWAddr => 1
ROOM_PR_room_width => 10.6
GF20121126194243879313000000 => Gate - Manned,Security Patrol
listing_office_phone => (561) 622-5000
GF20121128203448419411000000 => Dining Family,Snack Bar
selling_member_email => jafeldman38@gmail.com
LIST_87 : 2015-01-01T00:01:52
LIST_1 : 20141118214124325535000000
I want it to do this:
Record: 0 *************************
INSERT ---
LIST_87 : 2015-01-01T00:01:52
LIST_1 : 20141118214124325535000000
LIST_124 => 0.00
INSERT ---
LIST_87 : 2015-01-01T00:01:52
LIST_1 : 20141118235552432553500000
LIST_125 => 161.14
INSERT ---
LIST_87 : 2015-01-01T00:01:52
LIST_1 : 20141445635552432553500000
GF20121126194243819854000000 => Entry Lvl Lvng Area,Fire, Sprinkler,Foyer,Pantry,Volume Ceiling,Walk-in Closet
代码:
$prop_fields = array("");
$prop_vals = array("");
$LIST_1 = "";
$LIST_87 = "";
$count;
class Insert_Data
{
public function create_insert_sql_from_search(){
Global $results, $prop_fields, $prop_vals, $LIST_1, $LIST_87, $count ;
for ($i=0; $i < count($results) ; $i++) {
// print "$results[$i]<br/><br/>";
echo "<br/><br/>Record: $i *************************<br/><br/>";
$myData = json_decode($results[$i]);
foreach ($myData as $key => $val) {
// We append the key and a comma to the end for every key inside the dbkeys array
if($key == 'LIST_1'){
$LIST_1 = $val;
echo "LIST_1 : $LIST_1<br/>";
}elseif($key == 'LIST_87'){
$LIST_87 = $val;
echo "LIST_87 : $LIST_87<br/>";
}else{
echo "$key => $val<br/>";
}
}
}
}
}
// create an object
$update = new Insert_Data();
// // show object properties
$update->create_insert_sql_from_search();
// echo "</pre>";
【问题讨论】:
-
LIST_1, LIST_87 是可能的,因为你有一个条件,但你必须验证你确实得到了它们。然后检索下一个键并打破 for each 循环
标签: php mysql arrays loops object