可以说我有一个由;分隔的字符串;
$something = "dog;cat;horse;fish";
Run Code Online (Sandbox Code Playgroud)
我知道我可以轻松地将其爆炸并从爆炸数组中获取适当的值:
$explode = explode(";",$something);
Run Code Online (Sandbox Code Playgroud)
$explode[1] 会是猫.
有没有办法可以在线进行此操作?我的意思是:
$favoritePet = explode(";",$something)[1];
Run Code Online (Sandbox Code Playgroud)
$favoritePet 等于猫
显然上面是错误的,但我希望这说明了我想要达到的目标,同时爆炸并获得价值.
我有一个执行PHP脚本的perl脚本:
my $phpOutput = `/usr/bin/php /bart/bart.php`;
Run Code Online (Sandbox Code Playgroud)
这完全没问题.现在我想在网址中添加一些变量.
my $phpOutput = `/usr/bin/php /bart/bart.php?data=1`;
Run Code Online (Sandbox Code Playgroud)
这失败了.
Could not open input file: /bart/bart.php?data=1
Run Code Online (Sandbox Code Playgroud)
任何想法为什么?
我在这里错过了什么?这似乎很简单,但我无法弄清楚为什么第二个警报显示var id的"未定义"
<input type='button' class='getLoc' id=‘s13' value=‘s13’>
<script>
$(function(){
$('.getLoc').click(function(){
var id = $(this).attr('id');
alert(id); //<-- shows s13
navigator.geolocation.getCurrentPosition(function(position,id){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
alert(lat+","+lon+","+id); //<-- shows undefined for id
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud) getLocations.php的结果是id和LocationName的json结果.我创建了一个连接结果,因为还返回了其他数据.
{"1:LocationA":{"lat":"38.8737","lon":"-77.013"},"2:LocationB":{"lat":"38.9002","lon":"-77.0365"}
$.ajax({
type:"GET",
url:"getLocations.php",
dataType:"json",
success:function(result){
$.each(result,function(e,i){
var titleLong = e.split("&");
title = titleLong[1];
id = titleLong[0];
alert(title) // 1st alert
$.ajax({
type:"GET",
data:"id="+id,
url:"getData.php",
success:function(result){
alert(title) //2nd alert
Run Code Online (Sandbox Code Playgroud)
为什么title的值不会遍及第二个ajax调用.如果你看第一个警报,那就是我所期待的.在每个循环期间检索的变量.如果你看第二个警报,它只是每个循环的最后一个结果(LocationB)....我的猜测是一个异步的事情......我已经尝试了两个asynch:true和false.
我错过了什么?