我有以下代码:
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
for ($i=0; $i<count($row); $i++)
{
(DO THING HERE)
$row[$i] = str_replace("\n", " ", $row[$i]);
$row[$i] = str_replace("\r", " ", $row[$i]);
}
}
Run Code Online (Sandbox Code Playgroud)
我基本上想做,如果关联数组键等于"email"(所以$ row ['email'])然后追加"@ gmail.com".
使用foreach循环并获取assoc数组的键和值.
foreach($row as $key => &$value)
{
if($key == 'email') $value .= "@gmail.com";
}
Run Code Online (Sandbox Code Playgroud)
mysql_fetch_array($result, MYSQL_ASSOC)如果要返回关联数组,也应该使用它.
附加到电子邮件密钥的更有效方法是:
if(isset($row['email']))
$row['email'] .= '@gmail.com';
Run Code Online (Sandbox Code Playgroud)
而不是遍历所有列.
看到MYSQL_NUM你在那里?这将使用列索引作为键(即0,1,2等)返回您的数据.
你必须要么
a)找出该email字段的列索引并执行以下操作:
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
// 'email' is in column number 5
$row[5] .='@gmail.com';
for ($i=0; $i<count($row); $i++)
{
$row[$i] = str_replace("\n", " ", $row[$i]);
$row[$i] = str_replace("\r", " ", $row[$i]);
}
}
Run Code Online (Sandbox Code Playgroud)
b)或您可以更改MYSQL_NUM到MYSQL_ASSOC,然后执行:
while ($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$row['email'] .='@gmail.com';
foreach($row as &$value)
{
$value = str_replace("\n", " ", $value);
$value = str_replace("\r", " ", $value);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意"&"之前$value将其作为参考.
我会做后者(我更喜欢foreach到for:)
| 归档时间: |
|
| 查看次数: |
3183 次 |
| 最近记录: |