какой-то скрытый символ в кодировке JSON

я использую библиотеку jdate для преобразования григорианской даты в jalali и после разнесения дня и месяца я обнаружил некоторые скрытые символы, добавленные в мою строку, и когда я кодирую их в json, я не могу разобрать их

{
"result": [{
"year": " 1394",
"month": " 6"}, {
"year": " 1394",
"month": " 7"}, {
"year": " 1394",
"month": " 8"}, {
"year": " 1394",
"month": " 9"}, {
"year": " 1394",
"month": " 10"}, {
"year": " 1394",
"month": " 11"}, {
"year": " 1394",
"month": " 12"}, {
"year": " 1395",
"month": " 1"}, {
"year": " 1395",
"month": " 2"}, {
"year": " 1395",
"month": " 3"}, {
"year": " 1395",
"month": " 4"}, {
"year": " 1395",
"month": " 5"}, {
"year": " 1395",
"month": " 6"}, {
"year": " 1395",
"month": " 7"}]
}

я не могу удалить скрытые символы, они помещены в первую строку json, пожалуйста, помогите мне решить эту проблему!

вот мой код:

$termID = (isset($_REQUEST['term_id'])) ? $this->db()->safe($_REQUEST['term_id']) : '';

$sel="SELECT term_id, term_from_date, term_to_date  FROM  {$this->var->db_perfix}edu_term where term_id=$termID GROUP BY term_id";
$arrFromTo = $this->db()->q($sel);

$arrFromTo[0]->{'term_from_date'} = $this->jdate( "Y-m-j" , strtotime($arrFromTo[0]->{'term_from_date'}) );
$arrFromTo[0]->{'term_to_date'} = $this->jdate( "Y-m-j" , strtotime($arrFromTo[0]->{'term_to_date'}) );

$fromDate = explode('-', $arrFromTo[0]->{'term_from_date'});

$fromYear = $fromDate[0];
$fromMonth = $fromDate[1];

$toDate = explode('-', $arrFromTo[0]->{'term_to_date'});

$toYear = $toDate[0];
$toMonth = $toDate[1];

$count = $toMonth - $fromMonth + 1 +  ($toYear - $fromYear)*12 ;

$arrMonth = array();
$arrMonthNum = array();
$yearNum = $fromYear;

$j = 0;

for($i=0 ; $i<=$count ; $i++){
$monthNum = ($fromMonth+$i)%12;
$yearNum += ($monthNum==1)? 1 : 0;
$monthNum = ($monthNum)? $monthNum : 12;

$arrMonth['result'][$j]['year'] .= ($count>=12) ? ' '.$yearNum : '' ;
$arrMonth['result'][$j]['month'] .= ($count>=12) ? ' '.$monthNum : '' ;//$arrMonth['result'][$monthNum."-".$yearNum]['year'] .= ($count>=12) ? ' '.$yearNum : '' ;
// $arrMonth['result'][$monthNum."-".$yearNum]['month'] .= ($count>=12) ? ' '.$monthNum : '' ;

$gregorian = $this->jalali_to_gregorian($yearNum , $monthNum , 1);
$monthDuring = $this->lastday($gregorian[1]+1 , 1 , $gregorian[0]);

$firsDayOfMonth = date("N", mktime(0, 0, 0, $gregorian[1], $gregorian[2] , $gregorian[0]));
$lastDayOfMonth =  date("N", mktime(0, 0, 0, $gregorian[1], $gregorian[2]+$monthDuring-1 , $gregorian[0]));

if($firsDayOfMonth==6 or $firsDayOfMonth==7)
$firsDayOfMonth = $firsDayOfMonth-6;
else
$firsDayOfMonth++;

if($lastDayOfMonth==6 or $lastDayOfMonth==7)
$lastDayOfMonth = $lastDayOfMonth-6;
else
$lastDayOfMonth++;

$j++;
}

$a = trim(json_encode($arrMonth,JSON_UNESCAPED_UNICODE),"\x00..\x1F");

echo $a;

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]