PHP变量在相等循环中更改自己的值
我有一个变量,表示地址的坐标。我正在打印要测试的名称前的坐标。在奇数循环中(它位于foreach循环中),它工作正常,将变量放入PHP变量在相等循环中更改自己的值,php,codeigniter,Php,Codeigniter,我有一个变量,表示地址的坐标。我正在打印要测试的名称前的坐标。在奇数循环中(它位于foreach循环中),它工作正常,将变量放入数据latLng属性中。在偶数循环中,它给出不同的值,而不是坐标。值,如:2和 我的意思是: 奇数编号的循环将打印出以下内容: 同时,在偶数循环编号上,data latLng属性输出不同的值: 代码如下: $area_lat_long = isset($area_lat_long[$mapCounter])?$area_lat_long[$mapCounter]:
数据latLng
属性中。在偶数循环中,它给出不同的值,而不是坐标。值,如:2
和
我的意思是:
奇数编号的循环将打印出以下内容:
同时,在偶数循环编号上,data latLng
属性输出不同的值:
代码如下:
$area_lat_long = isset($area_lat_long[$mapCounter])?$area_lat_long[$mapCounter]:"-26.2041028, 28.047305100000017";
echo $area_lat_long;
echo '<strong>area: '. $streetAdd[$count] .' <a class="glyphicon glyphicon-new-window" type="button" data-toggle="modal" data-target="#mapModal" data-latLng="'. $area_lat_long .'" style="cursor:pointer;"></a><br>';
$mapCounter++;
让我们“运行”这段代码,假设
$x=数组('c'=>'lat,lng');
在循环之前
所以循环#1打印“lat,lng”
循环#2检查isset('lat,lng'[$c])
,计算结果是否为false
,因此$x
将为'foo'
将打印“foo”
循环#3的作用与#2相同,但检查是否设置('foo'[$c])
,再次计算为false
将再次打印“foo”
这就是原因
我不知道您在循环之外还做了什么,大多数代码似乎什么也没做,或者根本没打算做。
“但是当使用完全相同的变量时……它在偶数循环上发生变化?”
完全相同的变量,但值不同。你发布了很多图片,但甚至没有完整的循环,所以我不知道你希望任何人说什么。请发布更多的代码。我们需要背景。至少包括foreach循环及其周围的一些代码。理想情况下,我们拥有与正在发生的事情相关的全部代码。@teh1我已经包含了you@developerwjk如您所见,是的,变量的值在每个循环上都会发生变化,但如果是偶数循环,在区域名称之前使用它和将其放入数据latLng
属性之间,它会发生变化?在二进制运算符之前和之后放置空格。您已经将带有?
和:
的三元运算符连接到变量名。我认为那不管用。然后你有一元运算符和不应该存在的空格,例如,$i++
应该是$i++代码>
foreach ($streetAdd as $key){
print_r($area_lat_long);
//LAT LONG
$area_lat_long = isset($area_lat_long[$count])?$area_lat_long[$count]:"-26.2041028, 28.047305100000017";
echo $area_lat_long;
echo '<strong>area: '. $streetAdd[$count] .' <a class="glyphicon glyphicon-new-window" type="button" data-toggle="modal" data-target="#mapModal" data-latLng="'. $area_lat_long .'" style="cursor:pointer;"></a><br>';
$mapCounter++;?>
<input type="hidden" id="street_address" name="street_address[<?php echo $count; ?>]" value="<?php echo $streetAdd[$count];?>">
<table class="table table-striped">
<thead>
<tr>
<th>Media Type</th>
<th>Quantity Required</th>
<th>Average Asset Price</th>
<th><!-- Remaining Total --></th>
<th>More Options</th>
</tr>
</thead>
<tbody class="assetCounter">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<?php
$j = 0;
$total_used = 0;
$total_bal = isset($budget)?$budget:0;
$qty = 1;
$i = 0;
foreach ($my_categories as $key) { //loop thru chosen media types
foreach ((array)$key as $data) {
// print_r($data);
//check valid description
$j++;
$data_description = isset($data->mec_description)?$data->mec_description:'';
$latitude_longitude = explode(",",$area_lat_long); //print_r($latitude_longitude);
$latitude = $latitude_longitude[0];
$longitude = isset($latitude_longitude[1])?$latitude_longitude[1]:$latitude;
//pricing
$min_price = isset($data->asg_min_price)?$data->asg_min_price:0;
$max_price = isset($data->asg_max_price)?$data->asg_max_price:0;
$average_p = ($min_price + $max_price)/2;
$total_used += $average_p;
$total_bal -= $average_p;
if($total_bal < 0){
$total_bal = 0;
}
if($average_p == 0){
$title = "Pricing information not yet available from Media Owners";
} else {
$title = "NOTE: These are just estimates/guidelines, latest pricing information will be received from Media Owners quotations";
}
?>
<tr class="asset_<? echo $counterForAsset; ?>">
<td><?php
echo strtoupper($mec_stuff[$i]);
?>
<input type="hidden" id="media_category" name="mec_id[]" value="<?php
foreach($mec_stuff as $ms) {
echo $ms . ',';
}
?>">
<input type="hidden" id="media_category" name="media_category[]" value="<?php echo $data_description; ?>"></input></td>
<td><input type="text" class="form-control q_asset_<? echo $counterForAsset; ?> med_quantity" name="med_quantity[]" id="med_quantity" placeholder="Quantity Required" value="1"/></td>
<td><input type="text" readonly="true" name="avg_total[]" id="asset_<? echo $counterForAsset; ?>" class="form-control avg_asset_<? echo $counterForAsset; ?>" value="<?php echo number_format($total_bal,2); ?>" title="<?php echo $title;?>"/></td>
<!-- <td><input type="text" readonly="true" name="avg_total[]" id="avg_total--><?php //echo $j; ?><!--" class="form-control asset_--><?// echo $i; ?><!--" value="--><?php //echo number_format($total_bal,2); ?><!--" title="--><?php //echo $title;?><!--"/></td>-->
<td><input type="text" readonly="true" name="rem_total[]" id="asset_<? echo $counterForAsset; ?>" class="form-control rem_asset_<? echo $counterForAsset; ?>" value="<?php echo number_format($total_bal,2); ?>"/></td>
<!-- <td><input type="text" readonly="true" name="rem_total[]" id="rem_total--><?php //echo $j; ?><!--" class="form-control --><?// echo $i; ?><!-- asset_--><?// echo $i; ?><!--" value="--><?php //echo number_format($total_bal,2); ?><!--"/></td>-->
<td><?php echo "<a class='js-fire-modal btn btn-info' type='button' data-toggle='modal' data-mecid='$mec_stuff[$i]' href='#' name='size_button' onclick=\"sizeModal2(1, $j, '$latitude','$longitude','$description')\">>>></a>";?></td>
</tr>
<tr>
<td></td>
<td colspan="4" id="<?php echo $j; ?>"></td>
</tr>
<?php $i ++; $counterForAsset++; }
}?>
<tr>
<td> </td>
<td> <input type="hidden" id="hidSubtotal<?php echo $j;?>" value="<?php echo number_format($total_used,2); ?>"></td>
<td> Subtotal</td>
<td> <span id="lblSubtotal<?php echo $j; ?>"><?php echo number_format($total_used,2); ?></span> </td>
</tr>
</tbody>
</table>
<?php $count++;
}
foreach($a as $b) {
$x = isset($x[$c]) ? $x[$c] : "foo7";
echo $x;
}