【问题标题】:Convert array to another character [php]将数组转换为另一个字符 [php]
【发布时间】:2018-07-29 03:08:20
【问题描述】:

我有表格中的数据:

$data = Array ( [0] => 1 [1] => 4 [2] => 3 [3] => 3 )

我想把它转换成:

$x = [[1], [2], [3], [4]];

我不知道该怎么做?

我正在使用库 PHP-ML (http://php-ml.readthedocs.io/en/latest/machine-learning/regression/least-squares/)。

【问题讨论】:

  • 那么你想将包含1,3,3和4的数组转换为包含1,2,3和4的数组吗?不同的价值从何而来?
  • 您只是想对值进行排序吗?并把 2 打错为 3?
  • 马克,我不需要排序。我无法向图书馆提供正确的数据。看代码:paste.org/91101#code
  • 然后解释一下 3 个值中的一个如何转换为 2 个值……这背后的逻辑是什么?否则我建议$x = array_chunk($data,1);
  • 你说得对,这是示例值。正确的是: $data = Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

标签: php arrays php-ml


【解决方案1】:

如果你想从值创建数组,你可以这样做:

$x = [];
foreach($data as $key => $value) {
  array_push($x, $value);
}

如果你想从值创建数组数组,你可以像这样编辑它:

$x = [];
foreach($data as $key => $value) {
  array_push($x, [$value]);
}

【讨论】:

  • 感谢您的回答。我检查了您的解决方案,但不幸的是它不起作用。目前,代码如下所示:paste.org/91101#code
【解决方案2】:
$data = array(1,4,3,3);

$x = '[['.implode('], [', $data).']]';

echo $x;

【讨论】:

  • 感谢您的回答。我检查了您的解决方案,但不幸的是它不起作用。目前,代码如下所示:paste.org/91101#code
【解决方案3】:
$data = array(0 => "0", 1  => "1", 2  => "2", 3  => "3");
$output;
$halt = count($data) - 1;
for($i = 0; $i < count($data); $i++){
  if($i==$halt){
        $output.="[".$data[$i]."]";
    }else{
        $output.="[".$data[$i]."]".", ";
    }
}
$x = "[".$output."]";
echo $x;

像这样?

但是为什么要将数组改为数组呢?

  • 啊,我明白了,你想要 json 格式吗?*

    $array = array(0 => [1], 1 => [2], 2 => [3], 3 => [3]);

    $x = json_encode($array, JSON_HEX_APOS);

    回声 $x;

[[1],[2],[3],[3]]

【讨论】:

  • 感谢您的回答。我检查了您的解决方案,但不幸的是它不起作用。目前,代码如下所示:paste.org/91101#code
  • 再试一次?我更新了代码@Wojtek - json_encode($array, JSON_HEX_APOS);
  • 谢谢,但它不起作用:(。我粘贴了一个简化的代码,它可以正确处理数字但不能处理数组:paste.org/91112你知道如何解决它吗?
  • @Wojtek 看看w3schools.com/php/func_misc_eval.asp $output = eval("$x");" 什么的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-04
  • 2018-01-29
相关资源
最近更新 更多