
楼主的写法不太对:
定义数组:
$arr=array(0=>12,1=>23455);
定义关联数组时用的是
=>
符号,符号左边的键值不加
[
]
要把数组赋值给一个变量才能访问,如:$arr
这时通过键值就可以访问数组中的值了,$arr[0]
12
,$arr[1]
就是
23455
不指定数组的键值,默认就是0,1,2,3,4,5,……从零开始递增的整数
----首先定义一个split函数,其作用是将字符串拆分成表
CREATE FUNCTION [fn_split]
(@SourceSql varchar(8000), @StrSeprate varchar(10))
RETURNS @temp table
(
[n] int NULL,
[a] varchar(100) NULL
)
AS
BEGIN
declare @i int,@n int;
set @n=0;
set @SourceSql=rtrim(ltrim(@SourceSql));
set @i=charindex(@StrSeprate,@SourceSql);
while (@i>=1)
begin
set @n=@n+1;
insert @temp([n],[a]) values(@n,left(@SourceSql,@i-1));
set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i);
set @i=charindex(@StrSeprate,@SourceSql);
end
if (@SourceSql<>'')
begin
set @n=@n+1;
insert @temp([n],[a]) values(@n,@SourceSql);
end
return
END
GO
--接下来利用这个函数将数组转化成表,查出A的对应值
declare @C varchar(100),@D varchar(100);
set @C='a1,a2,a3,a4,a5,a6';
set @D='b1,b2,b3,b4,b5,b6';
declare @A varchar(10),@B varchar(10);
set @A='a4';
select @B=t2a from fn_split(@C,',') t1,fn_split(@D,',') t2 where t1n=t2n and t1a=@A;
select @B;
--这里将得到@B=b4
--接下来就可以使用@B了
select TOP 7 from Data_Content where title = @B order BY ID DESC
这个就是对q进行分割然后取不同的值
string[] firstArr= qsplit('|'); //这样firstArr数组就会变成firstArr[0]="1000,25,165
",firstArr[1]="1001,28,165",类推
//再对每个firstArr中的字符串分割
string[] secondArr = firstArr[0]split(',');
string uid = secondArr[0]toString();
string age = secondArr[1]toString();
//这里给的是个思路,你可以用两个for循环来做,非常简单。
//你可以用下面的方式试下,我这边考虑到的是遍历哈,假设上面的数组名字为$cate_arr
foreach($cate_arr as $v){
$values = array_values($v);
if(in_array("分类1", $values)) {
$id = $v["id"]; //这样就可以得到分类1的ID值了
break;
}
}
/ 数组变量名为$test /
$id = -1;
foreach ($test as $t) {
if ($t['name'] == 2) {
$id = $t['id'];
break;
}
}
if ($id != -1) {
echo "the id is: " $id "\n";
} else {
echo "can not find the item in array\n";
}
如上代码所示,遍历一遍数组即可。
以上就是关于php,如何取出数组中的值,全部的内容,包括:php,如何取出数组中的值,、在SQL中如何从数组中获取值再进行查询、数组获取值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)