Кто может объяснять мне значение изменчивая $cant?

У меня есть проблемы, изменив поля, чтобы производить pdf и я встретился с переменной $cant и поскольку я очень новый в этом, я прошу, чтобы они пожалуйста помогли мне, нуждаюсь в том, чтобы ввести новую колонну в компьютер между und и Снабди ссылками и удалять цену за единицу товара и стоимость, но не, как делание этого.

$pdf = new PDF('P','mm','Letter');
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','B',12);
$pdf->Cell(10,5,'Stk',1,0,'C');
$pdf->Cell(20,5,'Loc',1,0,'C');
$pdf->Cell(20,5,'Unidad',1,0,'C');
$pdf->Cell(25,5,'Referencia',1,0,'C');
$pdf->Cell(95,5,'Articulo',1,0,'C');
$pdf->Cell(25,5,'Precio/Unit',1,0,'C');
$pdf->Cell(25,5,'Valor',1,1,'C');

$select = "SELECT p.*, r.B001 ";
$select .= "FROM pedidos_detalle p LEFT JOIN referencias_ubicacion r ON p.referencia = r.referencia ";
$select .= "WHERE ID_PEDIDO =".$_GET['ped']." ";
$select .= "ORDER BY REPLACE(r.B001,'-','') DESC, p.REFERENCIA"; 

$rs=mysqli_query($mysqli, $select);
$pdf->SetFont('Times','',10);   
while ($row=mysqli_fetch_row($rs)){
    $sql = "SELECT (saldo_inicial + compras + entradas_especiales - ventas - salidas_especiales) AS saldo FROM saldosbodega_2000 WHERE bodega=001 AND mes = (convert(varchar(6),getdate(),112)) AND referencia = '$row[2]'";

    $rs1=mssql_query($sql,$link);
    $row1=mssql_fetch_row($rs1);
    $cant = number_format($row1[0],0, ',', '.');
    $pdf->Cell(10,5,$cant,1,0,'C');
    $pdf->Cell(20,5,$row[9],1,0,'C');
    $pdf->Cell(10,5,number_format($row[5],0, ',', '.'),1,0,'C');
    $pdf->Cell(25,5,$row[2],1,0,'C');
    $pdf->Cell(85,5,$row[3],1,0,'L');
    $pdf->Cell(25,5,number_format($row[4],2, ',', '.'),1,0,'C');
    $pdf->Cell(25,5,number_format($row[7],2, ',', '.'),1,1,'C');
}
$pdf->SetFont('Times','I',12);
$pdf->Cell(150,5,'','L');
$pdf->Cell(25,5,'IVA   ',1,0,'R');
$pdf->SetFont('Times','',12);
$pdf->Cell(25,5,number_format($GLOBALS['tot_iva'],2, ',', '.'),1,1,'C');
$pdf->Cell(150,5,'','L');
$pdf->SetFont('Times','I',12);
$pdf->Cell(25,5,'Descuento   ',1,0,'R');
$pdf->SetFont('Times','',12);
$pdf->Cell(25,5,number_format($GLOBALS['tot_dcto'],2, ',', '.'),1,1,'C');
$pdf->SetFont('Times','B',12);
$pdf->Cell(150,5,'Observaciones:','L');
$pdf->Cell(25,5,'Total   ',1,0,'R');
$pdf->Cell(25,5,number_format($GLOBALS['total'],2, ',', '.'),1,1,'C');
$pdf->SetFont('Times','B',10);
$pdf->MultiCell(200,5,strtoupper($obser),1,'L');

$pdf->SetFont('Times','B',10);
$pdf->Cell(10,5,'',0,1,'');
$pdf->Cell(25,4,'Tarjeta: '.$_GET['tar'],0,1,'');
$pdf->Cell(25,4,$_GET['usu'],0,1,'');
$pdf->Cell(25,4,date('Y-m-d H:i:s'),0,1,'');

mssql_close($link);
mysqli_close($mysqli);

$pdf->Output('pedido_picking/PEDW'.str_pad($id,8,"0",STR_PAD_LEFT).'.pdf','F');
//$pdf->Output('','I');
header('Location:proceso_picking_pdf.html?ped=PEDW'.str_pad($id,8,"0",STR_PAD_LEFT));`
0
задан 30.04.2016, 00:08
2 ответа

Согласно официальной документации php, которая также находится на испанце: http://php.net/manual/es/function.number-format.php

number_format — Форматировать число с группируемыми тысячами

string number_format ( float $number , int $decimals = 0 , string $dec_point = "." , string $thousands_sep = "," )

Эта благосклонно принятая функция один, два, или четыре параметра (не три):

Если только будет предоставляться параметр, number он будет форматироваться без десятичных, но с запятой (",") между каждой группой тысяч.

Если будут предоставляться два параметра, number он будет форматироваться десятичными столькими, как они определились в decimals размещая точку (". ") впереди, и запятая (",") между каждой группой тысяч.

Если будут предоставляться четыре параметра, number он будет форматироваться десятичными столькими, как мы определили в decimals, dec_point он заменит точку (". "), как seperador десятичных и назначенного по умолчанию разделителя тысяч, запятая (","), будет заменена из-за thousands_sep.

number Число которое форматировать.

decimals Установи число десятичных точек.

dec_point Установи разделитель для десятичных.

thousands_sep Установи разделитель для тысяч.


Что делает тогда в этом случае?

Брать первую стоимость (или тот, у которого есть ключ 0) array, $row (если ты не знаешь, что это array, снова он смотрит документацию: http://php.net/manual/es/language.types.array.php), он 'лишает' его десятичных, которые у него могут быть, использует запятую () чтобы отделять десятичных (хотя в этом случае их не будут существовать) и в конце концов используй точку (.), чтобы отделять тысячи.

1
ответ дан 24.11.2019, 14:30

Это переменная, которая меняет формат стоимости $ row1 разделителя тысяч, в., во что podrГ, - чтобы говорить, что $ row1 получает первый реестр resulset консультации в базу данных.

$cant = number_format($row1[0],0, ',', '.');
0
ответ дан 24.11.2019, 14:30