gpt4 book ai didi

php - 如何通过变量获取定义值

转载 作者:可可西里 更新时间:2023-11-01 06:40:01 25 4
gpt4 key购买 nike

我的数据库表 1 行看起来像这样

enter image description here

我将正文中使用的所有变量存储在另一个名为 vars 的列中。然后获取所有变量。如果是多个,则用“,”符号展开。

我想做的是,从数据库中获取所有使用过的变量,然后通过第二个函数 filter 过滤它们。如您所见,过滤器有 3 个输入:$content, $needle, $replacement

$content - 消息正文,

$needle - %.我们正在搜索的内容。%

$replacement - 是我们从数据库中获取的变量,由 php 定义。例如,如果我从数据库中获取 wsurl,它已经在我的 settings.php 中定义为 DEFINE("wsurl", "www.yourdomain.com")。

问题是,如何将定义的值作为第三个输入发送 - $replacement

public function genMsg($id) {
$msgid = $id;
$stmt = $db->prepare('SELECT `body`, `status`, `vars` FROM `messages` WHERE `id`=?') or die(htmlspecialchars($this->db->error));
$stmt->bind_param("i", $msgid) or die(htmlspecialchars($stmt->error));
$stmt->execute() or die(htmlspecialchars($stmt->error));
$stmt->bind_result($message, $status, $vars) or die($stmt->error);
$stmt->fetch() or die($stmt->error);
$stmt->close();
$image = ($status == -1) ? "fail" : "success";
if (isset($vars) && !empty($vars)) {
if (strpos($vars, ",")) {
$vars = explode(",", $vars);
foreach ($vars as $key => $var) {
$this->filter($message, $var, <HERE MUST BE DEFINED VALUE>);
}
} else {
$var = trim($vars);
$this->filter($message, $var, <HERE MUST BE DEFINED VALUE>);
}
}
$data = array(
'status' => $status,
'message' => $message
);
}

protected function filter($content, $needle, $replacement) {
return str_replace("%'.$needle.'%", $replacement, $content);
}

最佳答案

如果我答对了你的问题。这应该有所帮助。

<?php
define('TEST', 'abc');
echo constant('TEST');

http://www.php.net/manual/en/function.constant.php

关于php - 如何通过变量获取定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8920831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com