构建数组,为什么不行?

china165 2008-04-22 09:26:20
$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
echo array($k);

这样为什么不是一个数组?
如何才能让$k 成为一个数组

并且输出第2-10个数字。就是
32
66
87
一直到第10个
...全文
113 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
什么呀
回复
meiZiNick 2008-05-01
有问题请先GOOGLE,BAIDU
回复
foolbirdflyfirst 2008-04-23
???


$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
$array = explode(',',$k);
print_r(array_slice($array,1,9));
回复
ClintNorthwood 2008-04-23

settype($k,'array');
回复
comdeng 2008-04-23
$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17",“,”只是这一长串字符串中的一员,就像是$k="lsdfjlsdj"一样。你用array($k),实际上也是一个数组,是一个只有一个字符串的数组。要把数据库中读出的这样的字符串转化为数组,需要用到explode方法,即$k=explode(",","55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17");这样才会达到你的目的。
回复
tony-杨 2008-04-23
貌似写错了,应该分开

$k = "55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
$k = explode(',', $k, 11);
array_shift($k);
array_pop($k);
print_r($k);
回复
fcoolx 2008-04-23
$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
echo array($k);

$k 是字符串啊
array($k) 只能把$k作为数组的一个元素啊
回复
tony-杨 2008-04-23
[Quote=引用楼主 china165 的帖子:]
$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
echo array($k);

这样为什么不是一个数组?
如何才能让$k 成为一个数组

并且输出第2-10个数字。就是
32
66
87
一直到第10个
[/Quote]


//输出第2-10个数字
$k = "55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
$k = array_pop(array_shift(explode(',', $k, 11)));
print_r($stack);
回复
wen8u8 2008-04-23

$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17"; //$k字串string
echo array($k); //$k到这里成了array的一个元素,输出数组var_dump()/print_r();

这样为什么不是一个数组?
如何才能让$k 成为一个数组
$arr = explode(",",$k);//字符串函数用,解析成数组
$arr = split(",",$k); //正则解析字串到数组
回复
striker_un 2008-04-23
$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
echo array($k);

这样为什么不是一个数组?
如何才能让$k 成为一个数组

并且输出第2-10个数字。就是
32
66
87
一直到第10个

这事情通常要分开来做.

//1 将字符串转成数组.
$k = "55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";
$kArray = explode(',', $k);

//第二步,输出.
for($i = 1;$i<10;$i++)
{
echo $kArray[$i];
}

回复
ten789 2008-04-22
array(0=>1,1=>2,2=>3);这样当然没有问题

$k = "array(1,2,3,4,5,6)";
eval($k);也没问题
回复
china165 2008-04-22
楼上的兄弟,我的$k="1,2,3,";这样的值。然后再构建一个。我输入
直接array(1,2,3);这样就没问题

array($k);这样就有问题

其实,我的$k是从数据库中取出来的,值就是$k="55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17";

所以想不明白,为什么不成功。
回复
乌镇程序员 2008-04-22
$k = array(55,32,66,87,123,35,66,98,88,33,56,31,11,9,387,412,764,53,23,80,25,17);
print_r($k);

好好看下手册。
回复
相关推荐
综教楼后的那个坑用双向链表实现 描述   在 LIT 综教楼后有一个深坑,关于这个坑的来历,有很多种不同的说法。其中一种说法是,在很多年以前,这个坑就已经在那里了。这种说法也被大多数人认可,这是因为该坑有一种特别的结构,想要人工建造是有相当困难的。   从横截面图来看,坑底成阶梯状,由从左至右的 1..N 个的平面构成(其中 1 ≤ N ≤ 100,000),如图:    *            * :    *            * :    *            * 8    *    **      * 7    *    **      * 6    *    **      * 5    *    ********* 4 <- 高度    *    ********* 3    ************** 2    ************** 1 平面 |  1  |2|   3    | 每个平面 i 可以用两个数字来描述,即它的宽度 Wi 和高度 Hi,其中 1 ≤ Wi ≤ 1,000、1 ≤ Hi ≤ 1,000,000,而这个坑最特别的地方在于坑底每个平面的高度都是不同的。每到夏天,雨水会把坑填满,而在其它的季节,则需要通过人工灌水的方式把坑填满。灌水点设在坑底位置最低的那个平面,每分钟灌水量为一个单位(即高度和宽度均为 1)。随着水位的增长,水自然会向其它平面扩散,当水将某平面覆盖且水高达到一个单位时,就认为该平面被水覆盖了。   请你计算每个平面被水覆盖的时间。    灌水 水满后自动扩散 | | * | * * | * * * * V * * V * * * * * * .... * *~~~~~~~~~~~~* * ** * *~~~~** : * *~~~~**~~~~~~* * ** * *~~~~** : * *~~~~**~~~~~~* * ** * *~~~~**~~~~~~* *~~~~**~~~~~~* * ********* *~~~~********* *~~~~********* *~~~~********* *~~~~********* *~~~~********* ************** ************** ************** ************** ************** **************    4 分钟后    26 分钟后        50 分钟后    平面 1 被水覆盖     平面 3 被水覆盖    平面 2 被水覆盖输入   输入的第一行是一个整数 N,表示平面的数量。从第二行开始的 N 行上分别有两个整数,分别表示平面的宽度和高度。 输出   输出每个平面被水覆盖的时间。
发帖
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
帖子事件
创建了帖子
2008-04-22 09:26
社区公告
暂无公告