随笔 - 1330  文章 - 1  评论 - 378  阅读 - 482万 

 

复制代码
代码
<?php 
/*
 *一、按指定符号分割字符串,返回分割后的元素个数, 方法很简单,  就是看字符串中存在多少个分隔符号,然后再加一,就是要求的结果。
 *$str:要分割的字符串
 *$split:分隔符号
*/
function Get_StrArrayLength($str,$split)
{
    
$location='';//当前位置
    $start='';     //搜索的开始位置
    $length =1;  //记录数组长度
    
    
$str=trim($str);//去除空格 
    $location=strpos($str,$split);
    
while($location)
    {
        
$start=$location+1;
        
$location=strpos($str,$split,$start);
        
$length=$length+1;
    }
    
return $length;
}
/*
 *二、按指定符号分割字符串,返回分割后指定索引的第几个元素,象数组一样方便
 *$str:要分割的字符串
 *$split:分隔符号
 *$index:取第几个元素
*/
function Get_StrArrayStrOfIndex($str,$split,$index )
{
    
$location=0;//当前位置
    $start=0;     //搜索的开始位置
    $next =1;    //下一个位置
    $seed=strlen($index); //种子(分割字符串的长度)
    
    
$str=trim($str);//去除空格 
    $location=strpos($str,$split);
    
while($location!=false&&$index>$next)
    {
        
$start=$location+$seed;
        
$location=strpos($str,$split,$start);
        
$next=$next+1;
    }
    
if($location==0)
    {
        
$location=strlen($str)+1;
    }
    
/*
     * 这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,$location为0,那默认为字符串后边有一个分隔符号。
    
*/
    
return substr($str,$start,$location-$start);
}
/*
 *三、结合上边两个函数,象数组一样遍历字符串中的元素,当然了,这里就直接把它存到数组中
 *$str:要分割的字符串
 *$split:分隔符号
*/
function mySplit($str,$split)
{
    
$next=1;
    
$arr=array();
    
while($next<=Get_StrArrayLength($str,$split))
    {
        
array_push($arr,Get_StrArrayStrOfIndex($str,$split,$next));
        
$next=$next+1;
    } 
    
return $arr;
}
/*
 * 测试如下:
 * 
*/
$str='123|456|789';
$split='|';
$arr=mySplit($str,$split);
//输出数组结构:
print_r($arr);

?>
复制代码

 


输出结果:

 

Array ( [0=> 123 [1=> 456 [2=> 789 ) 

 

 

posted on   钱途无梁  阅读(442)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2009-03-12 C#读写文件总结
点击右上角即可分享
微信分享提示