我写了一些我认为非常简单的使用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手册,但他们的示例使用与上面相同的语法.我想我明白了什么是未定义的偏移量,但我不明白为什么我的代码会产生错误!
说我有以下内容: "44-xkIolspO"
我想返回2个变量:
$one = "44";
$two = "xkIolspO";
Run Code Online (Sandbox Code Playgroud)
最好的方法是什么?
我想知道如何将给定的字符串转换为指定的数组:
串
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字符检测到.
我有一个具有以下架构的配置单元表:
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)
然而结果是笛卡尔积.
答案可能很简单.但我对编程很新鲜.所以要温柔......
我正在努力为您的一位客户快速修复.我想得到一个整数的总位数,然后爆炸整数:
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.
基本上:如何在没有分隔符的情况下分解整数,以及如何找到整数中的位数.
我有一个像下面这样的数据框 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 ?
这个问题是从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) 我想计算特定字符串中的单词,因此我可以对其进行验证并阻止用户编写超过100个单词.
我写了这个函数,但是我觉得它不够有效,我使用了带空格的爆炸函数作为分隔符但是如果用户放置两个空格而不是一个空格怎么办.你能给我一个更好的方法吗?
function isValidLength($text , $length){
$text = explode(" " , $text );
if(count($text) > $length)
return false;
else
return true;
}
Run Code Online (Sandbox Code Playgroud) 我有这个字符串:
无功/日志/ 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中是否已经内置了可以解决这个问题的东西.
如何使用追加前一个值来构建数组?
我搜索了几个小时.如何用"\"分隔字符串
我需要将HORSE\COW分成两个单词并丢失反斜杠.
explode ×10
php ×7
arrays ×3
string ×2
delimiter ×1
expression ×1
hive ×1
hiveql ×1
implode ×1
integer ×1
list ×1
mysql ×1
numpy ×1
pandas ×1
parsing ×1
preg-match ×1
preg-split ×1
regex ×1
validation ×1