簡體   English   中英

提取字符串的特定部分

[英]Extracting a specific part of a string

我有這個字符串:

[25-03-15, 1236], [26-03-15, 3000], [27-03-15, 3054], [30-03-15, 4000]

我想從中得到兩個部分,如下所示:

['25-03-15','26-03-15','27-03-15','30-03-2015']

[1236,3000,3054,4000]

請指導我如何執行此任務。

PS:我正在查看Codeigniter的查看頁面。

我得到的第一件事是:

<?php 
$usd=$this->db->query('select transaction_date, SUM(amount) as total 
from transactions GROUP BY transaction_date')->result_array();
$str = '';

for($i=0; $i<count($usd); $i++){
    if($i!=0){
        $str = $str.', ['.date('d-m-y', strtotime($usd[$i]["transaction_date"])).', '.$usd[$i]["total"].']';
    }else{
        $str = $str.'['.date('d-m-y', strtotime($usd[$i]["transaction_date"])).', '.$usd[$i]["total"].']';
    }
}

echo $str;

?>

我看不出您為什么需要將數據庫中的數據保存為字符串的任何原因。 只需將其保存在一個數組中,就很簡單:

所以在這里,我將您的數據保存在一個數組中,以便獲得以下結構:

array(
    array(25-03-15, 1236),
    array(26-03-15, 3000),
    array(27-03-15, 3054),
    array(30-03-15, 4000)
)

您可以簡單地使用array_column()提取單個列,如下所示:

<?php

    $usd = $this->db->query('select transaction_date, SUM(amount) as total 
    from transactions GROUP BY transaction_date')->result_array();

    foreach($usd as $k => $v)
        $result[] = [date('d-m-y', strtotime($usd[$k]["transaction_date"])), $usd[$k]["total"]];


    $partOne = array_column($result, 0);
    $partTwo = array_column($result, 1);

?>  

同樣,如果您隨后如注釋中所述將這些數據存儲在字符串中,則可以簡單地對其進行轉換:

我將提取的數據傳遞給接受此類數據的圖形– Shahid Rafiq 6分鍾前

只需使用此:

echo $str = "[" . implode("],[", array_map(function($v){
    return implode(",", $v);
}, $usd)) . "]";

輸出:

[25-03-15, 1236], [26-03-15, 3000], [27-03-15, 3054], [30-03-15, 4000]

編輯:

如果您還希望將零件作為字符串,只需執行以下操作:

$partOne = "[" . implode("],[", array_column($arr, 0)) . "]";
$partTwo = "[" . implode("],[", array_column($arr, 1)) . "]";

輸出:

[25-03-15],[26-03-15],[27-03-15],[30-03-15]
[1236],[3000],[3054],[4000]

嘗試這個..

  $date = '';
  $total = '';
for($i=0; $i<count($usd); $i++){
    if($i!=0){
        $date .= date('d-m-y', strtotime($usd[$i]["transaction_date"])).', ';
         $total .= $usd[$i]["total"].', ';

    }else{
         $date .= date('d-m-y', strtotime($usd[$i]["transaction_date"])).', ';
         $total .= $usd[$i]["total"].', ';
    }
}

 echo $finaldate='['. $date.']';
  echo $finaltotal='['. $total.']';

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM