回复:求问php重组数组
用这个函数试试:array_slice(),写个循环
贴吧:php作者:cmdxsg 2017-03-10 16:57
PHP Array 函数
PHP:指示支持该函数的最早的 PHP 版本。 函数 描述 PHP array() 创建数组。 3 array_change_key_case() 返回其键均为大写或小写的数组。 4 array_ch
贴吧:php作者:三聚义晴天 2011-11-22 14:55
回复:新手报到 怎么优化速度
分页分批处理数据 array_slice 这样的额效率会好一点吧
贴吧:php作者:cx1657 2021-03-17 10:43
回复:一个业余php程序员的编程生活
接下来就是获取每日物品销售量(因为没有找到日均收单、卖单价格数据,如ESI有,请告知),计算市场日均贸易量(最近一个月日均)和贸易额,因为数量量大,物品数量多,要是按照上面的方法一次性拉取网页会卡死,所以采用一次获取一个物品的历史数据,需要注意的预估利润其实为日贸易额,懒得改数据库了,使用者自行注意,下面先贴获取单项物品数据的代码:
<?php
//处理单个物品历史成交数据
$mysqli = new mysqli('127.0.0.1', 'root', '', 'new');
set_time_limit(0);
echo '<pre>';
$type_id=$_GET['type_id'];
$data=[];
$url = 'https://esi.evepc.163.com/latest/markets/10000002/history/?datasource=serenity&type_id='.$type_id;
$data[]['url'] = $url;
function getMultiCurlResult($data = [], $timeout = 120)
{
$request = [];
$requestResource = curl_multi_init();
foreach ($data as $k => $v) {
$option = [
CURLOPT_TIMEOUT => $timeout,//请求超时时间,防止死循环
CURLOPT_RETURNTRANSFER => true,//获取的信息以文件流的形式返回,而不是直接输出。
];
if (!isset($v['url']) || !$v['url']) return null;
$option[CURLOPT_URL] = trim($v['url']);
if (stripos($v['url'], 'https') === 0) $option[CURLOPT_SSL_VERIFYPEER] = false;
if (isset($v['data'])) {//如果设置了请求参数,则是POST请求
$option[CURLOPT_POST] = true;
$option[CURLOPT_POSTFIELDS] = http_build_query($v['data']);
}
//启动一个curl会话
$request[$k] = curl_init();
//设置请求选项
curl_setopt_array($request[$k], $option);
//添加请求句柄
curl_multi_add_handle($requestResource, $request[$k]);
}
$running = null;
$result = [];
do {//执行批处理句柄
//CURLOPT_RETURNTRANSFER如果为0,这里会直接输出获取到的内容.如果为1,后面可以用curl_multi_getcontent获取内容.
curl_multi_exec($requestResource, $running);
//阻塞直到cURL批处理连接中有活动连接,不加这个会导致CPU负载超过90%.
curl_multi_select($requestResource);
} while ($running > 0);
foreach ($request as $k => $v) {
$result[$k] = curl_multi_getcontent($v);
curl_multi_remove_handle($requestResource, $v);
}
curl_multi_close($requestResource);
return $result;
}
$res = getMultiCurlResult($data);
unset($data);
$data=[];
//print_r($res);
foreach($res as $k => $v)
{
$arr=json_decode($v,true);
$arr=array_slice($arr,-30);
//print_r($arr);
foreach($arr as $key => $value)
{
$volume=$value['volume'];
$average=$value['average'];
if(!isset($data['highest']))
{
$data['近期日均交易量']=$volume;
$data['日销售额']=$average*$volume;
}else{
$data['近期日均交易量']=$data['近期日均交易量']+$volume;
$data['日销售额']=$data['日销售额']+$average*$volume;
}
}
}
$data['近期日均售价']=$data['日销售额']/$data['近期日均交易量'];
$data['近期日均交易量']=round($data['近期日均交易量']/30);
$t=time();
$sql="UPDATE eve SET 近期日均交易量='".$data['近期日均交易量']."',近期日均价格='".$data['近期日均售价']."' WHERE typeID=$type_id";
echo $sql.'<br>';
$query=$mysqli->query($sql);
?>
贴吧:eve作者:wmzx1981 2021-09-17 10:35
回复:php 操作数组 (合并,拆分,追加,查找,删除等)
4. 拆分数组 array_slice()
array_slice()函数将返回数组中的一部分,从键offset开始,到offset+length位置结束。其形式:
array array_slice (array array, int offset[,int length])
offset 为正值时,拆分将从距数组开头的offset 位置开始;如果offset 为负值,则拆分从距数组末尾的offset 位置开始。如果省略了可选参数length,则拆分将从offset 开始,一直到数组的最后一个元素。如果给出了length 且为正数,则会在距数组开头的offset+length 位置结束。相反,如果给出了length且为负数,则在距数组开头的count(input_array)-|length|位置结束。考虑一个例子:
贴吧:乐乐软件作者:lelesoft_com 2015-12-19 05:24
php数组集合
1. 合并数组 array_merge()函数将数组合并到一起,返回一个联合的数组。所得到的数组以第一个输入数组参数开始,按后面数组参数出现的顺序依次迫加。
贴吧:wgsnow作者:i追梦人2013 2014-06-24 09:12
移动端日历组件设计与实现
前言 在大多数的客户端应用中,日期的选择与操作是一个常见的功能,使用日历组件完成对于这一功能的实现,往往是一个高效的解决方案。对于日历组件的设计与开发,在常见的开源项目中,通常有两种设计思路: 横向切换展示,默认渲染单个月份,通过按钮或左右滑动,进行月份切换; 纵向切换展示,默认渲染展示多个月份,上下滑动进行月份切换; 例如添加 picker 进行视图切换,添加自定义按钮,日期单选/多选,自定义文案,日期范围限制
贴吧:crmeb作者:CRMEB众邦科技 2022-04-18 18:10
回复:求给个处理txt文档内容的思路
逐行放进数字 然后每次取出来3个 array_slice
贴吧:php作者:街边_捡_幸福 2017-03-29 11:38
回复:不重复的随机数
array_slice
(PHP 4, PHP 5)
array_slice -- 从数组中取出一段
说明
array array_slice ( array array, int offset [, int length] )
array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。
如果 offset 为正,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。
如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。
注意 array_slice() 将忽略键名,并且是根据单元在数组中的实际位置来计算偏移量和长度的。
例子 1. array_slice() 例子
<?php
$input = array ("a", "b", "c", "d", "e");
$output = array_slice ($input, 2);       // returns "c", "d", and "e"
$output = array_slice ($input, 2, -1);   // returns "c", "d"
$output = array_slice ($input, -2, 1);   // returns "d"
$output = array_slice ($input, 0, 3);    // returns "a", "b", and "c"
?>  
参见 array_splice() 和 unset()。

贴吧:营销--孟介民--系列作者:撒旦之光 2010-05-21 12:28
回复:php必背函数开始更新!寒假更新完毕必背200多个!
echo "<br />";
//array_merge() 把两个或多个数组合并为一个数组。
//格式:array array_merge ( array $array1 [, array $array2 [, array $... ]] )
//注意:将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
//如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
//如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge($a1,$a2));
//Array ( [a] => Horse [b] => Cat [c] => Cow )
echo "<br />";
//array_slice() 在数组中根据条件取出一段值,并返回。
//格式:array array_slice ( array $array , int $offset [, int $length [, bool $preserve_keys ]] )
//注意:如果 offset 非负,则序列将从 array中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。
//如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。
//可以通过将 preserve_keys 设为 TRUE 来改变此行为
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
//Array ( [0] => Cat [1] => Horse )
echo "<br />";
//array_diff() 返回两个数组的差集数组
//格式:array array_diff ( array $array1 , array $array2 [, array $ ... ] )
//注意:返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。键名保留不变。(以第一个为主)。
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
print_r(array_diff($a1,$a2));
//Array ( [0] => Cat )
echo "<br />";
//array_intersect() 返回两个或多个数组的交集数组
//格式:array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
//注意:返回一个数组,该数组包含了所有在 array1 中也同时出现在所有其它参数数组中的值。键名保留不变(以第一个为主)。
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");
print_r(array_intersect($a1,$a2));
//Array ( [1] => Dog [2] => Horse )
echo "<br />";
贴吧:php作者:泠泠杀手 2013-02-18 21:58

大家都在搜

  • js array splice
  • array slice
  • array splice
  • array_multisort
  • slice和splice区别
  • array_column
  • js数组splice方法
  • js slice函数
  • js中的slice
  • 数组的splice方法
  • slice函数
  • slice怎么用
  • slice啥意思
  • A slice of
  • slice方法