Php Laravel:解析错误:语法错误,意外';如果';(如果)正在查看
我有一个laravel程序代码,将执行2个数据。如果查询中的数据有一个“banjar”,它将显示从banjar中心点到目标点的距离。否则,它将显示从其他中心点到目标点的距离 但是当我执行这段代码时,我有一个错误“parseerror:syntax error,意外的'if'(T_if)” 视图中的代码Php Laravel:解析错误:语法错误,意外';如果';(如果)正在查看,php,mysql,laravel,google-maps,Php,Mysql,Laravel,Google Maps,我有一个laravel程序代码,将执行2个数据。如果查询中的数据有一个“banjar”,它将显示从banjar中心点到目标点的距离。否则,它将显示从其他中心点到目标点的距离 但是当我执行这段代码时,我有一个错误“parseerror:syntax error,意外的'if'(T_if)” 视图中的代码 <tbody> @php //TASIK
<tbody>
@php
//TASIK
$latitude1 = -7.325374900000001;
$longitude1 = 108.2251681;
//BANJAR
$latitude2 = -7.3708991;
$longitude2 = 108.5418788;
$latitudersk = $data->latitude;
$longitudersk = $data->longitude;
@if( {{ $rsk_tasik }} )
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude1.",".$longitude1."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
@elseif( {{ $rsk_banjar }} )
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude2.",".$longitude2."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
@endif
$json = json_decode($dataJson);
$distance = $json->rows[0]->elements[0]->distance->text;
@endphp
@foreach($rsk as $no => $data)
<tr>
<td>{{ $no +1 }}</td>
<td>{{ $data->address }}</td>
<td>{{ $data->latitude }}</td>
<td>{{ $data->longitude }}</td>
<td>{{ $distance }}</td>
</tr>
@endforeach
</tbody>
如何解决它,视图是这样的
不要在@php和@if中使用
{{}
<tbody>
@php
//TASIK
$latitude1 = -7.325374900000001;
$longitude1 = 108.2251681;
//BANJAR
$latitude2 = -7.3708991;
$longitude2 = 108.5418788;
$latitudersk = $data->latitude;
$longitudersk = $data->longitude;
if($rsk_tasik) {
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude1.",".$longitude1."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
} elseif($rsk_banjar) {
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude2.",".$longitude2."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
}
$json = json_decode($dataJson);
$distance = $json->rows[0]->elements[0]->distance->text;
@endphp
@foreach($rsk as $no => $data)
<tr>
<td>{{ $no +1 }}</td>
<td>{{ $data->address }}</td>
<td>{{ $data->latitude }}</td>
<td>{{ $data->longitude }}</td>
<td>{{ $distance }}</td>
</tr>
@endforeach
</tbody>
@php
//塔西克
$latitude1=-7.32537490000001;
$longitude1=108.2251681;
//班加尔
$latitude2=-7.3708991;
$longitude2=108.5418788;
$latitudersk=$data->latitude;
$longitudersk=$data->longitude;
如果($rsk_-tasik){
$dataJson=file\u get\u contents(“https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=“$latitude1.”、“$longitude1.”和destinations=“.$latitudersk.”、“$longitudersk.”和key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes”);
}elseif($rsk_banjar){
$dataJson=file\u get\u contents(“https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=“$latitude2.”、“$longitude2.”和destinations=“.$latitudersk.”、“$longitudersk.”和key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes”);
}
$json=json_decode($dataJson);
$distance=$json->rows[0]->elements[0]->distance->text;
@endphp
@foreach($no=>$data的rsk)
{{$no+1}}
{{$data->address}
{{$data->LATIONE}
{{$data->经度}
{{$distance}}
@endforeach
您可以尝试以下方法:
@php
//TASIK
$latitude1 = -7.325374900000001;
$longitude1 = 108.2251681;
//BANJAR
$latitude2 = -7.3708991;
$longitude2 = 108.5418788;
$latitudersk = $data->latitude;
$longitudersk = $data->longitude;
if($rsk_tasik)
{
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude1.",".$longitude1."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
}
else
{
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude2.",".$longitude2."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
}
$json = json_decode($dataJson);
$distance = $json->rows[0]->elements[0]->distance->text;
@endphp
您混合了
@php
,这需要普通php代码和blade指令。从@php指令中取出其余的blade指令或使用普通变量。如果是blade指令,那么你的意思是什么。如果你把它放在一个@php
块中,它的含义与你想象的不同。我仍然会遇到一个错误“解析错误:语法错误,意外的'If'(T_-If)””错误异常(E_-error)解析错误:语法错误,意外的'endif'(T_-endif),预期文件结尾“@MuhammadAnwari-test,这很奇怪,更新答案
@php
//TASIK
$latitude1 = -7.325374900000001;
$longitude1 = 108.2251681;
//BANJAR
$latitude2 = -7.3708991;
$longitude2 = 108.5418788;
$latitudersk = $data->latitude;
$longitudersk = $data->longitude;
if($rsk_tasik)
{
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude1.",".$longitude1."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
}
else
{
$dataJson = file_get_contents("https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$latitude2.",".$longitude2."&destinations=".$latitudersk.",".$longitudersk."&key=AIzaSyCyUBu8OPh0adMWbL9McFMMDqJA9UB7jes");
}
$json = json_decode($dataJson);
$distance = $json->rows[0]->elements[0]->distance->text;
@endphp