我正在编写一个简单的搜索算法。以下是我的代码。
$array_data = json_decode($json_data, true)["title"];
for ($i = 0; $i < count($array_data); $i++) {
$image = $array_data[$i]['images'];
//As the content in image is not a valid json
// Convert to valid json
$image_valid_json = str_replace("'", "\"", $image);
//change to array
$image_data = json_decode($image_valid_json, true);
//get the long key
$key = array_keys($image_data);
// Changes as per your question
for ($j = 0; $j < count($key); $j++) {
$url = $image_data[$key[$j]]['url'];
echo $url . "\n";
}
}
但是我不应该使用len()或任何其他内置函数。我怎么能这样做?
答案 0 :(得分:1)
也许只是自己创建一个len函数,用这样的东西:
def myLen(tab):
index = 0
while(tab != []):
tab = tab[0:-1]
index+=1
return index
a=[1,3,4,5]
print(myLen(a))
答案 1 :(得分:0)
正如我在评论中所写,您可以使用while True
并在找到所需内容或排除列表时手动终止它。
def search(list_data, target_char):
found = False
position = 0
while True:
try:
if list_data[position] == target_char:
found = True
break
except IndexError:
break
position += 1
return found
print(search([1, 3, 5], 3)) # prints: True
print(search([1, 3, 5], 'asdas')) # prints: False