尝试将我的 MySQL DB 转换为 PHP。
代码如下:
$sql = "SELECT Name, Price FROM utf WHERE Name LIKE 'K%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
echo "<div class=\"CSSTableGenerator style=\"width:600px;height:150px;\"><table><tr><th>Name</th><th>Price</th></tr></div>";
// output data of each row
while($row = $result->fetch_assoc()) {
$name = str_replace('K', 'Karambit', $row['Name']);
echo "<tr><td>".$name."</td><td>".$row["Price"]." ".$row["Trend"]."</td></tr>";
}
echo "</table>";
因此选择,按签名字符过滤,然后翻译。
现在,我有一个包含翻译的 lang.php 文件。
这里是:
<?php
function lang($phrase){
static $lang = array(
'ba' => 'Bayonet',
'ka' => 'Karambit'
);
return $lang[$phrase];
}
?>
如何将其放入这一行:
$name = str_replace('K', 'Karambit', $row['Name']);
并将 'ka' => 'Karambit'
替换为 'Karambit'
?
这些都不起作用:
//attempt 1
$name = str_replace('K', 'lang('ka');', $row['Name']);
//attempt 2
$name = str_replace('K', '$lang('ka');', $row['Name']);
//attempt 3
$word = echo lang('ka');
$name = str_replace('K', '$word', $row['Name']);
最佳答案
不要输入function调用引号,只需使用:
$name = str_replace('K', lang('ka'), $row['Name']);
//^^^^^^^^^^ See here
同时给你另一个选择:
您可以将 search => Replace
值存储到一个数组中,如下所示:
$searchReplace = [
"ba" => "Bayonet",
"ka" => "Karambit",
];
然后你可以简单地使用 strtr()
替换它,例如
$name = strtr($row['Name'], $searchReplace);
关于php - 将 lang 函数放入 php 字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31305734/