标签: explode

使用php explode()时未定义的偏移量

我写了一些我认为非常简单的使用php explode()函数将名称拆分为forename和surname:

// split name into first and last
$split = explode(' ', $fullname, 2);
$first = $split[0];
$last = $split[1];
Run Code Online (Sandbox Code Playgroud)

但是,这会引发消息的php错误"Undefined offset: 1".该功能似乎仍然有效,但我想清理导致错误的任何内容.我已经检查了php手册,但他们的示例使用与上面相同的语法.我想我明白了什么是未定义的偏移量,但我不明白为什么我的代码会产生错误!

php explode

17
推荐指数
3
解决办法
5万
查看次数

分成两个变量?

说我有以下内容: "44-xkIolspO"

我想返回2个变量:

$one = "44";
$two = "xkIolspO";
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

php string parsing explode

17
推荐指数
2
解决办法
2万
查看次数

PHP字符串控制台参数到数组

我想知道如何将给定的字符串转换为指定的数组:

all ("hi there \(option\)", (this, that), other) another
Run Code Online (Sandbox Code Playgroud)

想要的结果(数组)

[0] => all,
[1] => Array(
    [0] => "hi there \(option\)",
    [1] => Array(
        [0] => this,
        [1] => that
    ),
    [2] => other
),
[2] => another
Run Code Online (Sandbox Code Playgroud)

这用于我在PHP上制作的一种控制台.我尝试使用preg_match_all但是,我不知道如何在括号内找到括号以"在数组中创建数组".

编辑

应将示例中未指定的所有其他字符视为String.

编辑2

我忘了提到括号外的所有参数都应该被space字符检测到.

php regex arrays explode preg-match

17
推荐指数
2
解决办法
478
查看次数

Hive Explode/Lateral查看多个数组

我有一个具有以下架构的配置单元表:

COOKIE  | PRODUCT_ID | CAT_ID |    QTY    
1234123   [1,2,3]    [r,t,null]  [2,1,null]
Run Code Online (Sandbox Code Playgroud)

我如何规范化数组,以便得到以下结果

COOKIE  | PRODUCT_ID | CAT_ID |    QTY

1234123   [1]          [r]         [2]

1234123   [2]          [t]         [1] 

1234123   [3]          null       null 
Run Code Online (Sandbox Code Playgroud)

我尝试过以下方法:

select concat_ws('|',visid_high,visid_low) as cookie
,pid
,catid 
,qty
from table
lateral view explode(productid) ptable as pid
lateral view explode(catalogId) ptable2 as catid 
lateral view explode(qty) ptable3 as qty
Run Code Online (Sandbox Code Playgroud)

然而结果是笛卡尔积.

hive explode hiveql

16
推荐指数
3
解决办法
4万
查看次数

如何分解整数

答案可能很简单.但我对编程很新鲜.所以要温柔......

我正在努力为您的一位客户快速修复.我想得到一个整数的总位数,然后爆炸整数:

rx_freq = 1331000000 ( = 10 )
  $array[0] = 1
  $array[1] = 3
  .
  .
  $array[9] = 0

rx_freq = 990909099 ( = 9 )
  $array[0] = 9
  $array[1] = 9
  .
  .
  $array[8] = 9
Run Code Online (Sandbox Code Playgroud)

我无法使用爆炸,因为此功能需要分隔符.我搜索了eyh'old Google和Stackoverflow.

基本上:如何在没有分隔符的情况下分解整数,以及如何找到整数中的位数.

php arrays integer explode delimiter

15
推荐指数
2
解决办法
5万
查看次数

如何基于列内爆(熊猫的反向爆炸)

我有一个像下面这样的数据框 df

  NETWORK       config_id       APPLICABLE_DAYS  Case    Delivery  
0   Grocery     5399            SUN               10       1        
1   Grocery     5399            MON               20       2       
2   Grocery     5399            TUE               30       3        
3   Grocery     5399            WED               40       4       
Run Code Online (Sandbox Code Playgroud)

我想内爆(将 Applicable_days 从多行组合成单行,如下所示)并获得每个 config_id 的平均情况和交付

  NETWORK       config_id       APPLICABLE_DAYS      Avg_Cases    Avg_Delivery 
0   Grocery     5399            SUN,MON,TUE,WED         90           10

Run Code Online (Sandbox Code Playgroud)

使用网络上的 groupby,config_id 我可以获得 avg_cases 和 avg_delivery,如下所示。

df.groupby(['network','config_id']).agg({'case':'mean','delivery':'mean'})
Run Code Online (Sandbox Code Playgroud)

但是如何在执行此聚合时加入 APPLICABLE_DAYS ?

numpy explode implode pandas

14
推荐指数
2
解决办法
4874
查看次数

将GROUP_CONCAT中的MYSQL字符串拆分为IN()可以理解的(数组,表达式,列表)

这个问题是从MYSQL连接结果集中在IN()中的where子句中擦除结果吗?

所以,问题的简短版本.如何将GROUP_CONCAT返回的字符串转换为逗号分隔的表达式列表,IN()将其视为要循环的多个项目的列表?

NB MySQL的文档出现来指代"(逗号,分隔,列表)"作为"表达式列表",和有趣上IN()的页面中使用由IN()似乎或多或少在MySQL文档的唯一的页面永远参考表达列表.所以我不确定用于制作数组或临时表的函数是否可以在这里使用.


基于示例的长版本问题:来自这样的2表数据库:

SELECT id, name, GROUP_CONCAT(tag_id) FROM person INNER JOIN tag ON person.id = tag.person_id GROUP BY person.id;
+----+------+----------------------+
| id | name | GROUP_CONCAT(tag_id) |
+----+------+----------------------+
|  1 | Bob  | 1,2                  |
|  2 | Jill | 2,3                  |
+----+------+----------------------+
Run Code Online (Sandbox Code Playgroud)

我该怎么转这个,因为它使用一个字符串被视为(1 = X)AND(2 = X)的逻辑等价物......

SELECT name, GROUP_CONCAT(tag.tag_id) FROM person LEFT JOIN tag ON person.id = tag.person_id 
GROUP BY person.id HAVING ( ( 1 IN (GROUP_CONCAT(tag.tag_id) ) ) AND ( 2 IN (GROUP_CONCAT(tag.tag_id) ) …
Run Code Online (Sandbox Code Playgroud)

mysql expression list explode

13
推荐指数
2
解决办法
4万
查看次数

如何计算PHP中特定字符串中的单词?

我想计算特定字符串中的单词,因此我可以对其进行验证并阻止用户编写超过100个单词.

我写了这个函数,但是我觉得它不够有效,我使用了带空格的爆炸函数作为分隔符但是如果用户放置两个空格而不是一个空格怎么办.你能给我一个更好的方法吗?

function isValidLength($text , $length){

   $text  = explode(" " , $text );
   if(count($text) > $length)
          return false;
   else
          return true;
}
Run Code Online (Sandbox Code Playgroud)

php string validation explode

13
推荐指数
3
解决办法
5万
查看次数

将字符串拆分为数组并附加上一个值

我有这个字符串:

无功/日志/ file.log

我最终希望得到一个如下所示的数组:

Array => [
    '1' => 'var',
    '2' => 'var/log',
    '3' => 'var/log/file.log'
]
Run Code Online (Sandbox Code Playgroud)

我目前有这个:

<?php
    $string = 'var/log/file.log';
    $array = explode('/', $string);
    $output = [
        1 => $array[0],
        2 => $array[0]. '/' .$array[1],
        3 => $array[0]. '/' .$array[1]. '/' .$array[2]
    ];

    echo '<pre>'. print_r($output, 1) .'</pre>';
Run Code Online (Sandbox Code Playgroud)

这感觉非常违反直觉,我不确定PHP中是否已经内置了可以解决这个问题的东西.

如何使用追加前一个值来构建数组?

php arrays explode

13
推荐指数
2
解决办法
533
查看次数

用反斜杠分割文本\?

我搜索了几个小时.如何用"\"分隔字符串

我需要将HORSE\COW分成两个单词并丢失反斜杠.

php explode preg-split

12
推荐指数
3
解决办法
2万
查看次数