Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从逗号分隔的数组和其他数组获取数据_Php_Arrays_Str Replace - Fatal编程技术网

Php 从逗号分隔的数组和其他数组获取数据

Php 从逗号分隔的数组和其他数组获取数据,php,arrays,str-replace,Php,Arrays,Str Replace,我正在为我的邮件程序制作一个str\u replace函数,但我无法让某些东西工作。我目前正在使用此代码替换以下文字: $strSQL = "SELECT * FROM NAW.VAAW"; $objQuery = mysql_query($strSQL); { while($objResult = mysql_fetch_array($objQuery)) $Voornaam = $objResult["Voornaam"]; $Achternaam = $objRes

我正在为我的邮件程序制作一个
str\u replace
函数,但我无法让某些东西工作。我目前正在使用此代码替换以下文字:

$strSQL     = "SELECT * FROM NAW.VAAW";
$objQuery   = mysql_query($strSQL);
{
while($objResult = mysql_fetch_array($objQuery))   

$Voornaam   = $objResult["Voornaam"];
$Achternaam = $objResult["Achternaam"];
$Adres      = $objResult["Adres"];
$Woonplaats = $objResult["Woonplaats"];

$string     = $_POST['naam'];

$vaaw       = array("(voornaam)", "(achternaam)", "(woonplaats)", "(adres)");
$vervang    = array("$Voornaam", "$Achternaam", "$Woonplaats","$Adres");

echo str_replace($vaaw, $vervang, $string);
}
问题是,如果我更改列名或添加/删除列,那么我必须将代码更改为。我想知道是否有一种方法可以从一个数组中获取数据,并可以像现在这样显示:

$vaaw       = array("(voornaam)", "(achternaam)", "(woonplaats)", "(adres)");
比如:

$vaaw       = array("(1st value)", "(2nd value)", "(3rd value)", "(and so on)");
我得到的列名包括:

select column_name from information_schema.columns where table_name='Klant'
长话短说,有没有办法得到这个查询的结果:

select column_name from information_schema.columns where table_name='Klant'
看起来像这样:

$vaaw       = array("(value1)", "(value2)", "(value3)", "(and so on)");


我还没能在我看过的任何其他网站/论坛上找到任何东西,所以如果有人知道这有什么功能,那就太好了

我不确定我是否完全理解你想要实现的目标。但是看看这个,看看这是不是你想要的


上述示例将输出:
用户id
密码
您可以使用mysqli\u field\u count和mysql\u field\u name的组合来动态填充数组。基本上,您需要确定字段的数量,然后使用for循环,使用索引将项动态附加到数组中

数组(mysql_field_name($res,0),mysql_field_name($res,1))

Probeer-dit:

<?php
// Grab your mysql result in your $objectResult array as you did in your code, then do the following:

$body = 'Geachte (Voornaam) (Achternaam), welkom bij blablabla... ' . PHP_EOL;

foreach($objectResult as $key => $value) {
  $body = str_replcae('(' . $key . ')', $value, $body);
}

// The output would be something like: "Geachte Jan Janssen, welkom bij blablabla"
?>

所以基本上,这将搜索与数据库列名对应的键名,并用相应的值替换它们

非常适合电子邮件系统,简单明了;)

<?php
/* The users table consists of three fields:
 *   user_id
 *   username
 *   password.
 */
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
    die('Could not connect to MySQL server: ' . mysql_error());
}
$dbname = 'mydb';
$db_selected = mysql_select_db($dbname, $link);
if (!$db_selected) {
    die("Could not set $dbname: " . mysql_error());
}
$res = mysql_query('select * from users', $link);

echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 2);
?>

The above example will output:

user_id
password
<?php
// Grab your mysql result in your $objectResult array as you did in your code, then do the following:

$body = 'Geachte (Voornaam) (Achternaam), welkom bij blablabla... ' . PHP_EOL;

foreach($objectResult as $key => $value) {
  $body = str_replcae('(' . $key . ')', $value, $body);
}

// The output would be something like: "Geachte Jan Janssen, welkom bij blablabla"
?>