首页 开发编程 正文

php怎么创建空数组

$query=mysql_query("select*fromtable"}echo$contents[0]['phpif(mysql_num_rows($rs)<';><:>/li>...

php怎么创建空数组,php怎么把接受到的数据循环的添加到数组?

遍历数据表,把相应的数据放到数组中即可例如:<

?php//定义一个数组,用于保存读取到的数据$contents = array();$query = mysql_query("select * from table")

;//遍历数据表while($array = mysql_fetch_array($query)){$contents[] = $array;

}print_r($contents)

;//然后循环数组,或者通过键名使用数组foreach($contents as $value){print_r($value);}echo $contents[0]['字段名称'];?>

php如何判断SQL语句的查询结果是否为空?

PHP与mySQL这对黄金搭档配合的相当默契,但偶尔也会遇到一些小需求不知道该怎么做,例如今天要谈到的:如何判断sql语句查询的结果集是否为空!

我们以查询学生信息为例,来看看究竟如何实现我们的需求。

首先,来看看我们的数据表“student”中所存储的数据是个什么样子;

id stuname gender age grade class

1 张三 男 16 17 3

2 李四 男 15 18 2

3 王美丽 女 16 17 5

我们来看看sql查询功能代码,我们要将年龄为16岁的学生信息都查出来;

<?php

$sql = "select * from `student` where `age`='16';";

$rows = mysql_query($rs);

?>

<ul>

<?php

while($rows=mysql_fetch_array($rs)){

?>

<li>姓名:<?php echo $rows['stuname'];?></li>

<li>性别:<?php echo $rows['gender'];?></li>

<li>年龄:<?php echo $rows['age'];?></li>

<li>年级:<?php echo $rows['grade'];?></li>

<li>班级:<?php echo $rows['class'];?></li>

<?php

}

?>

</ul>

以上便是查询功能,当结果集不为空时,一切正常,当数据集为空时,会得到一个空白的ul标签,

作为使用者却不知道为什么没有得到数据,此时我们需要给用户一个提示信息,那么我们就需要判断这个结果集是否为空!

如何才能判断结果集是否为空呢,有下面两个方法:

<?php

//方法一 获取select结果集的行数

$rows=mysql_query("select * from `student` where `age`='16';");

if (mysql_num_rows($rows) < 1){

echo '查询无数据!';

}

//方法二 返回上一次操作受影响的行数

$rows=mysql_query("select * from `student` where `age`='16';");

if(!mysql_affected_rows()){

echo '查询无数据!';

}

?>

知道了方法,那么把方法套到我们的代码中看看效果吧

//方法一

<?php

$sql = "select * from `student` where `age`='16';";

$rows = mysql_query($rs);

?>

<ul>

<?php

if (mysql_num_rows($rs) < 1){

echo '查询无数据!';

}else{

while($rows=mysql_fetch_array($rs)){

?>

<li>姓名:<?php echo $rows['stuname'];?></li>

<li>性别:<?php echo $rows['gender'];?></li>

<li>年龄:<?php echo $rows['age'];?></li>

<li>年级:<?php echo $rows['grade'];?></li>

<li>班级:<?php echo $rows['class'];?></li>

<?php

}

}

?>

</ul>

//方法二

<?php

$sql = "select * from `student` where `age`='16';";

$rows = mysql_query($rs);

?>

<ul>

<?php

if(mysql_affected_rows()){

while ($rows=mysql_fetch_assoc($rs)){

?>

<li>姓名:<?php echo $rows['stuname'];?></li>

<li>性别:<?php echo $rows['gender'];?></li>

<li>年龄:<?php echo $rows['age'];?></li>

<li>年级:<?php echo $rows['grade'];?></li>

<li>班级:<?php echo $rows['class'];?></li>

<?php

}

}else {

echo "查无数据!";

}

?>

</ul>

OK,大功告成,现在查不到数据的时候就会有提示了哦!

分类: Web design

PHP为什么这几年在走下坡路?

虽然 php是世界上最好的语言 是一句自嘲,但不可否认,php在市场份额中一直是前十的存在。

php是一个web开发语言,最常见的用处就是网站开发,php一经问世,迅速占领了网页开发市场,至今已经几乎没有企业在用asp去开发网站,我身边的朋友也早已从asp转到了php。

linux+php+mysql+nginx是最常见的开发环境,由于mysql的免费性,php的简单可操作性,就这样形成了一个完美的组合,无论是创业小企业,还是互联网大厂,都在使用php快速建站,于此同时也产生了诸如此类的很多小型创业公司,公司有几个技术就可以出去接单了。

php作为一种动态交互语言,可以做网站,微信公众号,微信小程序,app,高端一点也可以作为一种后端服务存在,比如websocket,swool。

虽然近几年都在炒人工智能,同时兴起的语言就是python,所以就有一种声音说python要代替php,其实这种说法是站不住脚的,python的主要方向是算法,而php的反向是web开发,交叉的作用不是那么明显,现在要php走向落寞为时过早。

现在在市面上去招聘高端php还是比较稀缺的,由于培训班的存在,造就了php程序员的参差不齐,也形成了一种鱼龙混杂的局面,说不好找工作的就觉着php在走下坡路了,再加上培训机构的老师给你推荐其他的语言,容易对局外人一种迷惑。

无论是哪种语言,只要学得够精,在哪里都是人才。并且每种语言之间都是相辅相成的,正是这么多语言的存在,才形成了我们今天这么丰富多彩的互联网生活。

php如何判断数组中是否存在空字符?

$dar= array('nem'=>'123','wjs'=>'');

foreach($dar as $v){

if(!$v){ //判断可以灵活

echo 'sss';

}

}

?>

PHP数组任意位置插入任意元素?

引言

本文我们聊一聊 PHP 数组,如何在任意位置插入新元素。因为内置函数并没有提供类似 array_insert(&$array, $pos, $items) 的函数,所以我们试着动手解决。

学习时间

标准的实现方法,是要用 array_splice,该函数的用法:

array array_splice( array &$input, int $offset[, int $length = 0[, mixed $replacement]] )

把 input 数组中由 offset 和 length 指定的单元去掉,如果提供了 replacement 参数,则用其中的单元取代。

下面是举例说明:

$original = array( 'a', 'b', 'c', 'd', 'e' ); $inserted = array( 'x' ); // $inserted 并不必须是数组 array_splice( $original, 3, 0, $inserted ); // 在索引 3 位置插入 // $original 内容为 a b c x d e

有几个关键点大家需要注意,灵活运用 $offset, $length, $replacement 三个参数,可以组装成强大的功能。

对于偏移位置 $offset:

如果 offset 为正,则从 input 数组中该值指定的偏移量开始移除。如果 offset 为负,则从 input 末尾倒数该值指定的偏移量开始移除。

对于替换的长度 $length:

如果省略 length,则移除数组中从 offset 到结尾的所有部分。如果指定了 length 并且为正值,则移除这么多单元。如果指定了 length并且为负值,则移除从 offset 到数组末尾倒数length 为止中间所有的单元。

在编程中,当给出了replacement 时要移除从 offset 到数组末尾所有单元时,用 count($input) 作为 length。比如像下面这个示例:

$input = array("red", "green", "blue", "yellow"); array_splice($input, 1, count($input), "orange"); // $input = array("red", "orange")

特别需要注意的是 $replacement 参数:

如果给出了 replacement 数组,则被移除的单元被此数组中的单元替代。如果 offset 和 length 的组合结果是不会移除任何值,则 replacement 数组中的单元将被插入到 offset 指定的位置。 注意替换数组中的键名不保留。如果用来替换 replacement 只有一个单元,那么不需要给它加上array(),除非该单元本身就是一个数组、一个对象或者 NULL。亲手造轮子

上一节的解决方案堪称标准。有些同学还是要忍不住造轮子。“条条大道通罗马”,肯定有不止一种方式实现需求。下面是另外一种方式:

$a = array(1, 2, 3, 4); $b = array_merge(array_slice($a, 0, 2), array(5), array_slice($a, 2)); // $b = array(1, 2, 5, 3, 4)

使用 array_slice 函数对原数组切片,一分为二,然后使用 array_merge 拼接3个部分。完美!

上面的代码,在使用 array_merge 后悔丢失原数组的索引关系。如果要保留,使用 + 连接:

$b = array_slice($a, 0, 2) + array(5) + array_slice($a, 2);

这样就可以了。

换汤不换药,如果给类添加一个方法,或者添加一个助手函数,自然是极好的。下面是封装函数。

function array_insert(&$array, $value, $index) { return $array = array_merge(array_splice($array, max(0, $index 1)), array($value), $array); }

写在最后

本文介绍了一个功能丰富的 array_splice 函数,让大家领略了参数的灵活运用所带来的便捷。如果你经常需要这样的操作,麻溜地写到全局助手函数里吧。

Happy coding :_)

我是 @程序员小助手 ,持续分享编程知识,欢迎关注。

本文转载自互联网,如有侵权,联系删除