当前位置: 首页 > 知识库问答 >
问题:

将具有断点的字符串转换为数组

危烨煜
2023-03-14

我有一个与PHP链接的JavaScript AJAX。PHP有以下代码:

while ($row = $req->fetch(PDO::FETCH_BOTH)) {
    $ajaxArray[] = $row[0];
    $ajaxArray[] = $row[1];
    $ajaxArray[] = $row[2];
    $ajaxArray[] = $row[3];
}

foreach ($ajaxArray as $val) {
    echo $val;
    echo "#";
}

它的输出将是一个字符串:

Three Guys Burger Spicy#2#Three guys burger tender, juicy, full of flavor, served with bbq sauce mixed with special sauce#Burger1.PNG#

我想用这些元素创建一个JavaScript数组:

['Three Guys Burger Spicy', 2, 'Three guys burger tender, juicy, full of flavor, served with bbq sauce mixed with special sauce', 'Burger1.PNG']

是否有预定义的函数要使用?你有解决办法吗?

共有3个答案

相弘和
2023-03-14

您可以将字符串拆分为“#”:

var output = "#Three Guys Burger Spicy#2#Three guys burger tender, juicy, full of flavor, served with bbq sauce mixed with special sauce#Burger1.PNG#";

// Remove any trailing/leading hashes
output = output.replace(/^#/, "").replace(/#$/, "");

// Split on "#", then convert any numeric entries to numbers
var arr = output.split("#").map(item => !isNaN(Number(item)) ? Number(item) : item);
console.log(arr);
董新觉
2023-03-14
const str = 'Three Guys Burger Spicy#2#Three guys burger tender, juicy, full of flavor, served with bbq sauce mixed with special sauce#Burger1.PNG#';

const arr = str.split('#').filter(v => v);

console.log( arr );
淳于功
2023-03-14

一种简单得多的方法是将数组编码为JSON——这将生成您想要的结果,而无需任何额外的字符串构建和字符串解析。

echo json_encode($ajaxArray);

在接收到JSON时,JavaScript端需要做的就是解析JSON(通常使用JSON.parse()),然后就有了一个JavaScript数组。

N. B.根据所显示的内容,似乎只期望从查询返回一行。如果是这样,您也可以缩短填充数组的代码:

if ($row = $req->fetch(PDO::FETCH_NUM)) {
    $ajaxArray = $row;
}

文件参考:

  • https://www.php.net/manual/en/function.json-encode.php
  • https://www.php.net/manual/en/pdostatement.fetch.php
 类似资料:
  • 问题内容: 正如标题所说。我不认为有可能这样做,但如果可以告诉我。 这是我正在编写的bukkit(minecraft服务器)插件所必需的。我要执行一个命令:tnt [power]。电源是我想转换为浮点数的返回字符串。 谢谢 问题答案: 用于进行转换。 和之间的区别只是回报。如果需要(对象),请使用前者;如果要数字,请使用后者。

  • 问题内容: http://golang.org/pkg/strconv/ http://play.golang.org/p/4VNRgW8WoB 如何将浮点数转换为字符串格式?这是google游乐场,但未获得预期的输出。(2e + 07)我想得到“ 21312421.213123” 请帮助我从浮点数中获取字符串。谢谢 问题答案: 试试这个 如果只想获得尽可能高的位数精度,则特殊精度-1使用所需的最

  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字

  • 我有一个购物车php页面,在那里我显示客户端产品。在同一页中,我有一个表单,可以将客户的个人详细信息(如姓名、姓氏等)以及产品信息(如产品名称、数量等)直接发送到我的电子邮件地址。 现在,问题是,当我发送表单时,在我的电子邮件地址上,我收到了所有的信息,但没有产品细节,例如在订单电子邮件中的产品名称字段,我有ARRAY。 我看到将数组转换为字符串时出现问题,但我不知道如何转换,我尝试了几个示例,但

  • 问题内容: 我有一个标准化的浮点数数组(即数组中最大的数字是1),我想将其用作图形的颜色索引。在使用matplotlib使用灰度时,这需要使用0到1之间的字符串,因此我想将float数组转换为字符串数组。我试图通过使用“ astype(’str’)”来执行此操作,但这似乎会创建一些与原始值不相同(甚至接近)的值。 我注意到这一点是因为matplotlib抱怨在数组中找到数字8,这很奇怪,因为它被标

  • 问题内容: 我有pyspark数据框,其中包含名为 Filters 的列:“ array>” 我想将数据帧保存在csv文件中,为此,我需要将数组转换为字符串类型。 我尝试将其强制转换为:和,但是这两种解决方案都会为“过滤器”列中的每一行生成错误消息: 代码如下 样本JSON数据: 谢谢 !! 问题答案: 我创建了一个样本JSON数据集来匹配该模式: 使用explode()函数可以最佳化解决您的问题